Skip to content

Adding the bootstrap image #7

Adding the bootstrap image

Adding the bootstrap image #7

name: Build and Push Container Image
on:
push:
paths: [ .github/bootstrap-image/** ]
env:
ARTIFACTORY: cicd-oci-release-orl.repo.orl.eng.hitachivantara.com
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
ARTIFACTORY_API_KEY: ${{ secrets.ARTIFACTORY_API_KEY }}
IMAGE: ${{ github.repository_owner }}/${{ github.event.repository.name }}
jobs:
bootstrap-image:
name: CI Image build and push [${{ github.repository_owner }}/${{ github.event.repository.name }}:${{ github.ref_name }}]
runs-on: [ self-hosted, Linux, k8s ]
steps:
# sets the image name and tag to something like: <owner>/<repo>:<current_date_as_YYYYYMMDD>.<build-number>
- name: Update image tag
run: |
IMAGE_TAG=$(date +'%Y%m%d').${{ github.run_number }}
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
echo "IMAGE=${{ env.IMAGE }}:$IMAGE_TAG" >> $GITHUB_ENV
- name: Checkout code
uses: actions/checkout@v3
- name: Build
id: build-image
run: docker build -t "${{ env.ARTIFACTORY }}/${{ env.IMAGE }}" -f .github/bootstrap-image/Dockerfile .
- name: Push to Artifactory
id: push-to-artifactory
run: |
echo "${{ env.ARTIFACTORY_API_KEY }}" | docker login ${{ env.ARTIFACTORY }} --username ${{ env.ARTIFACTORY_USER }} --password-stdin
docker push "${{ env.ARTIFACTORY }}/${{ env.IMAGE }}"
- name: Summary
run: |
echo ":frog:" >> $GITHUB_STEP_SUMMARY
echo "Image pushed! Pull it by doing:" >> $GITHUB_STEP_SUMMARY
echo "`docker pull ${{ env.ARTIFACTORY }}/${{ env.IMAGE }}`" >> $GITHUB_STEP_SUMMARY
- uses: rickstaa/action-create-tag@v1
with:
tag: "build-image-${{ env.IMAGE_TAG }}"
message: "${{ env.ARTIFACTORY }}/${{ env.IMAGE }}"