Giter Club home page Giter Club logo

ami-jenkins's People

Contributors

karanwadhwa avatar rishabneu avatar sydrawat01 avatar

ami-jenkins's Issues

โš™ Jenkins setup

  • Update scripts/install.sh to install Jenkins and caddy (or nginx) as the reverse proxy server.
  • Add SSL certificate to reverse proxy server.

:octocat: Configure CI/CD pipelines for Jenkins AMI

  • 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

    • Enable GitHub checks on the GitHub repository in your organization.
    • Run packer validate on all pull requests.

๐Ÿ“ Configure environments for Jenkins AMI

  • Create user specific environments to run GitHub actions with user defined pkrvars.
  • Update the packer-validate.yml (CI) action runner to use GHA environments.
  • Add build action runner (CD) for custom AMI.

๐Ÿšง Configure Jenkins webhook to organization

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 the Jenkinsfile pipeline script to execute successfully.

@sydrawat01 @rishabNeu

๐Ÿ› JCasC failure

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.

๐Ÿš€ Update JCasC file to inclue seed job

  • Add --quiet option to wget command when downloading the plugin-manager-tool from github.com.
  • Update seed job to JCasC template for either multibranch pipeline seed job or github organization folder seed job
  • Update list of plugins to be installed. (see comment below for details)
  • Update folder structure to move Jenkins related code and config files into a folder jenkins/, and keep the seed job Groovy script in the scripts/ folder. JCasC file should be in jenkins/ folder as well.
  • [BUG] Fix Packer 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

๐Ÿ“ฆ Packer setup

  • Update README.md to include steps to configure and install HCP Packer locally to create custom AMIs.
  • Use pkrvars to provide dynamic variables instead of hard-coding them.
  • Create a sample pkrvars.hcl variables file that will list out all the variables being used in the packer config file.
  • Create a simple provisioner that will run though a shell script [scripts/install.sh].

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.