Skip to content

chore: separated out dsl for Helm sem release #50

chore: separated out dsl for Helm sem release

chore: separated out dsl for Helm sem release #50

Workflow file for this run

name: Build Jenkins AMI using Packer
on:
pull_request:
branches:
- main
types: [closed]
jobs:
packer_build_image:
if: ${{ github.event.pull_request.merged }}
runs-on: ubuntu-latest
name: Build AWS Custom AMI for Jenkins with Caddy
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: ${{ vars.AWS_REGION }}
- name: Prepare Jenkins Configuration as Code file and DSL job
run: |
sed -i 's/ADMIN_USER/${{ secrets.JENKINS_ADMIN_USER }}/g' jenkins/jenkins-config-as-code.yaml
sed -i 's/ADMIN_PASSWORD/${{ secrets.JENKINS_ADMIN_PASSWORD }}/g' jenkins/jenkins-config-as-code.yaml
sed -i 's/G_PAT/${{ secrets.G_PAT }}/g' jenkins/jenkins-config-as-code.yaml
sed -i 's/G_USERNAME/${{ secrets.G_USERNAME }}/g' jenkins/jenkins-config-as-code.yaml
sed -i 's/DOCKER_USERNAME/${{ secrets.DOCKER_USERNAME }}/g' jenkins/jenkins-config-as-code.yaml
sed -i 's/DOCKER_PASSWORD/${{ secrets.DOCKER_PASSWORD }}/g' jenkins/jenkins-config-as-code.yaml
sed -i 's/DOCKER_USERNAME/${{ secrets.DOCKER_USERNAME }}/g' jenkins/build-and-push-static-site.groovy
sed -i 's/DOCKER_PASSWORD/${{ secrets.DOCKER_PASSWORD }}/g' jenkins/build-and-push-static-site.groovy
shell: bash
- name: Setup `packer`
uses: hashicorp/setup-packer@main
id: setup
with:
version: "latest"
- name: Packer init
id: init
run: "packer init packer/template/jenkins-ami-template.pkr.hcl"
- name: Build AMI using Packer
id: build
run: "packer build \
-var 'ami_users=${{ secrets.AMI_USERS }}' \
-var 'instance_type=${{ vars.INSTANCE_TYPE }}' \
-var 'volume_size=${{ vars.VOLUME_SIZE }}' \
-var 'subnet_id=${{ secrets.SUBNET_ID }}' packer/template/jenkins-ami-template.pkr.hcl"