name: build container icinga2 on: push: paths: - 'Dockerfile' - 'init.sh' defaults: run: working-directory: ./icinga2 env: REGISTRY_HOST: ${{ vars.AOIT_GIT_URL }} CONTAINER_TAG: ${{ gitea.repository }} CONTAINER_VERSION: latest jobs: deploy: runs-on: test steps: - name: clone repo working-directory: ${{ gitea.workspace }} run: git clone https://$TOKEN@$GIT_HOST/$GIT_REPO env: TOKEN: ${{ secrets.TOKEN_SVC_CI }} GIT_HOST: ${{ vars.AOIT_GIT_URL }} GIT_REPO: ${{ gitea.repository }} - name: docker build run: docker build -t $REGISTRY_HOST/$CONTAINER_TAG:$CONTAINER_VERSION . - name: test docker container comes up run: | docker run --rm -d --name $CONTAINER_NAME -p $TEST_PORT:$TEST_PORT -e ICINGA2_API_USER_ROOT_PASS=$TMP_API_PASS $CONTAINER_TAG:$CONTAINER_VERSION sleep $DEPLOY_TIME curl -k -s -S -i -u root:$TMP_API_PASS "https://localhost:$TEST_PORT/v1" env: DEPLOY_TIME: 15 TEST_PORT: 5665 TMP_API_PASS: icinga - name: cleanup container if: always() run: docker kill $CONTAINER_NAME - name: upload container run: | docker login $REGISTRY_HOST -u $REGISTRY_USER -p $REGISTRY_PASS docker push $REGISTRY_HOST/$CONTAINER_TAG:$CONTAINER_VERSION docker logout env: REGISTRY_USER: ${{ secrets.REGISTRY_USER }} REGISTRY_PASS: ${{ secrets.TOKEN_SVC_DOCKER }} - name: docker cleanup image and build cache run: | docker image rm $REGISTRY_HOST/$CONTAINER_TAG:$CONTAINER_VERSION docker builder prune -af