csye7125-fall2023-group05 / ami-jenkins Goto Github PK
View Code? Open in Web Editor NEWCustom AMI built using HashiCorp Packer to configure a Jenkins server for CI/CD
Custom AMI built using HashiCorp Packer to configure a Jenkins server for CI/CD
chmod 666 /var/run/docker.sock
pkrvars
.packer-validate.yml
(CI) action runner to use GHA environments.The latest plugins.txt
file does not contain the following plugins required to configure Jenkins with a YAML file and setup seed jobs in Groovy:
job-dsl
configuration-as-code-groovy
Also, few seconds of sleep
after installing a new apt-get
package will generate a much cleaner packer build log output.
--quiet
option to wget
command when downloading the plugin-manager-tool
from github.com
.JCasC
template for either multibranch pipeline seed job
or github organization folder seed job
jenkins/
, and keep the seed job Groovy script in the scripts/
folder. JCasC file should be in jenkins/
folder as well.file provisioner
to copy the JCasC file into /home/ubuntu
,and use the install.sh
script to move the file to Jenkins home, i.e., /var/lib/jenkins/
(use sudo
) and update user & group to jenkins
sudo chown jenkins:jenkins /var/lib/jenkins/jcasc.yaml
Any changes pushed to the ami-jenkins
repository should trigger a build with a new private AMI being registered with the root
AWS account.
Enable GitHub Status Checks for AMIs
validate
on all pull requests.May i ask what environment: ${{ vars.ENVIRONMENT }} used for in Gihtub Action workflow?
and what I should setup for vars.ENVIRONMENT?
Groovy script
that will configure/create a multi-branch pipeline for the Webapp Helm Chart that runs the pipeline job defined in the Jenkinsfile
in webapp-helm-chart
.tools
section to configure nodejs
to run SemVer
for Jenkins CI/CD pipeline.Jenkins is configured via JCasC, through the AMI created by Packer. We need to successfully configure GitHub wehooks with our Jenkins instance so that we can trigger our build pipelines through seed jobs defined in the JCasC `yaml file.
This needs to be done via the GitHub GUI.
NOTE: Remember to configure
DockerHub
credentials in order for theJenkinsfile
pipeline script to execute successfully.
Install the following software package distributions:
scripts/install.sh
to install Jenkins
and caddy
(or nginx
) as the reverse proxy server.@karanwadhwa need to update the SUBNET_ID
secret in your repository environment to pass the CI/CD pipeline for github actions to validate and create a custom AMI for Jenkins.
split()
function provided by HCP Packer to split a single string of comma separated AWS user IDs.split()
function as the value in the ami_users
option for the amazon-ebs
source definition.README.md
to include steps to configure and install HCP Packer
locally to create custom AMIs.pkrvars
to provide dynamic variables instead of hard-coding them.pkrvars.hcl
variables file that will list out all the variables being used in the packer config file.scripts/install.sh
].Configure user credentials through JCasC. Make sure to not hardcode the values anywhere, along with the Groovy seed job scripts to use variables and secrets passed through to the JCasC and Groovy files/scripts.
Add required plugins to AMI for Jenkins
Configure the JCasC
and Groovy
seed files to configure semver CI/CD pipelines.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.