A matrix strategy lets you use variables in a single job definition to automatically create multiple job runs that are based on the combinations of the variables. For example, you can use a matrix strategy to test your code in multiple versions of a language or on multiple operating systems.
Using OpenSSL to encrypt messages and files on Linux
OpenSSL is a powerful cryptography toolkit. Many of us have already used OpenSSL for creating RSA Private Keys or CSR (Certificate Signing Request). However, did you know that we can use OpenSSL to benchmark our computer speed or that we can also encrypt files or messages? This post will provide you with some simple to follow tips on how to encrypt messages and files using OpenSSL.
Build and Push Docker Images through GitHub Action
On every push to GitHub, GitHub Action can auto-trigger the docker image build and push to Docker Hub. We will be able to see that each push results in a usable image, which enhances the quality of a docker image a lot.
Switching Node.js Versions with NVM
Node Version Manager is a tool that helps us manage Node versions and is a convenient way to install Node. Think of it as npm or Yarn that helps manage Node packages, but instead of packages, NVM manages Node versions.
This also means you can install multiple Node versions onto your machine at the same time and switch among them if needed.
Deploying Jenkins to AWS
Jenkins is an open-source automation server that integrates with a number of AWS Services, including: AWS CodeCommit, AWS CodeDeploy, Amazon EC2 Spot, and Amazon EC2 Fleet. We can use Amazon Elastic Compute Cloud (Amazon EC2) to deploy a Jenkins application on AWS.
This post documents the process of deploying a Jenkins application. We will launch an EC2 instance, install Jenkins on that instance, and configure Jenkins to automatically spin up Jenkins agents if build abilities need to be augmented on the instance.
AWS Troubleshooting
AWS Identity and Access Management (IAM)
IAM provides the infrastructure necessary to control authentication and authorization for a user's account.
Nexus 3 Repository Manager OSS
The proliferation of different repository formats and tools accessing them as well as the emergence of more publicly available repositories has triggered the need to manage access and usage of these repositories and the components they contain.
Continuous Delivery
Continuous delivery is an approach where teams release quality products frequently and predictably from source code repository to production in an automated fashion.
Deploying v.s. Releasing
The key distinction between deployment and release is the business rationale. Deployment doesn't necessarily mean users have access to features. Some companies will release at the same time as deployment to production is taking place.
Others will choose to wait, thereby having the new features in production but not availed to users until the business decides.