Add staging CI file for testing releases
Some checks failed
Docker Image Build Pipeline / Cleanup-Old-Artifacts (push) Successful in 0s
Docker Image Build Pipeline / Check-Environment (push) Successful in 0s
Docker Image Build Pipeline / Clone-Repo (push) Successful in 0s
Docker Image Build Pipeline / Checkout-Branch (push) Failing after 1s
Docker Image Build Pipeline / Build-Images (push) Has been skipped
Docker Image Build Pipeline / Push-Images (push) Has been skipped
Docker Image Build Pipeline / Cleanup-Build-Images (push) Has been skipped
Docker Image Build Pipeline / Cleanup-Docker-Login (push) Has been skipped

This commit is contained in:
Chris Hammer 2025-01-15 16:43:21 -05:00
parent 4aac45b57f
commit 74e029b155

View File

@ -0,0 +1,73 @@
name: Docker Image Build Pipeline
on:
push:
branches:
- staging
jobs:
Checkout-Branch:
runs-on: self-hosted
defaults:
run:
working-directory: /home/builds/src/ansible-dev
steps:
- name: Checkout staging branch
run: |
git checkout ${{ env.GITHUB_REF_NAME }}
- name: Verify current commit
run: git log -1
Build-Images:
runs-on: self-hosted
needs: [Checkout-Branch]
defaults:
run:
working-directory: /home/builds/src/ansible-dev
steps:
- name: Fedora
run: |
echo "docker build -f build/Containerfile.fedora -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }} ."
docker build -f build/Containerfile.fedora -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }} .
- name: Debian
run: |
echo "docker build -f build/Containerfile.debian -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }} ."
docker build -f build/Containerfile.debian -t ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }} .
Push-Images:
runs-on: self-hosted
needs: [Build-Images]
steps:
- name: Docker login
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login --username ${{ secrets.REGISTRY_USER }} --password-stdin ${{ vars.REGISTRY }}
- name: Push images to registry
run: |
pwd
docker push ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }}
docker push ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }}
Cleanup-Build-Images:
runs-on: self-hosted
needs: [Build-Images, Push-Images]
steps:
- name: Cleanup build images
run: |
pwd
docker rmi ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_FEDORA }}:${{ env.GITHUB_REF_NAME }}
docker rmi ${{ vars.REGISTRY }}/${{ env.GITHUB_REPOSITORY }}/${{ vars.BUILD_NAME_DEBIAN }}:${{ env.GITHUB_REF_NAME }}
Cleanup-Docker-Login:
runs-on: self-hosted
needs: [Push-Images]
steps:
- name: Cleanup Docker login
run: rm -v /home/builds/.docker/config.json