diff --git a/.gitea/workflows/build_push_internal_docker_transmission_exporter.yml b/.gitea/workflows/build_push_internal_docker_transmission_exporter.yml new file mode 100644 index 0000000..1925bad --- /dev/null +++ b/.gitea/workflows/build_push_internal_docker_transmission_exporter.yml @@ -0,0 +1,62 @@ +name: ci/cd internal docker image + +on: + push: + tags: + - '*-transmission' + # schedule: + # - cron: '0 8 2 * *' + +env: + GIT_REPO: transmission-exporter + DOCKER_IMAGE_NAME: transmission-exporter + +jobs: + build-push-transmission: + #! see on runner /data/.runner to add label (test => test:docker://debian:bullseye) + runs-on: ubuntu-latest + container: + image: docker + steps: + - name: Show Information + run: echo "Runner ${{ runner.os }} working on repository ${{ gitea.repository }} and on tag ${{ gitea.ref_name }}" + - name: clone & build + run: | + git clone https://${{ secrets.REPOSITORY_RW }}:x-oauth-basic@${{ vars.REGISTRY_DOCKER }}/${{ vars.GIT_USER_REPO }}/${{ env.GIT_REPO }} + cd ${{ env.GIT_REPO }} + docker buildx b . -t ${{ env.DOCKER_IMAGE_NAME }} + - name: login & push + run: | + echo "${{ secrets.PACKAGE_RW }}" | docker login -u ${{ vars.GIT_USER_REPO }} --password-stdin ${{ vars.REGISTRY_DOCKER }} + export VERSION=$(echo "${{ gitea.ref_name }}" | cut -d '-' -f 1) + docker tag ${{ env.DOCKER_IMAGE_NAME }} ${{ vars.REGISTRY_DOCKER }}/${{ vars.GIT_USER_REPO }}/${{ env.DOCKER_IMAGE_NAME }}:$VERSION + docker tag ${{ env.DOCKER_IMAGE_NAME }} ${{ vars.REGISTRY_DOCKER }}/${{ vars.GIT_USER_REPO }}/${{ env.DOCKER_IMAGE_NAME }}:latest + docker push ${{ vars.REGISTRY_DOCKER }}/${{ vars.GIT_USER_REPO }}/${{ env.DOCKER_IMAGE_NAME }}:$VERSION + docker push ${{ vars.REGISTRY_DOCKER }}/${{ vars.GIT_USER_REPO }}/${{ env.DOCKER_IMAGE_NAME }}:latest + + + + pull-up-transmission: + #! see on runner /data/.runner to add label (test => test:docker://debian:bullseye) + runs-on: ubuntu-latest + container: + image: ubuntu + steps: + + - name: Install required packages + run: | + apt-get -y update + apt-get install -y curl + + - name: Pull and up container + uses: appleboy/ssh-action@v1 + with: + host: 163.172.84.28 + username: stephane + key: ${{ secrets.SSH_KEY }} + passphrase: ${{ secrets.SSH_PASS }} + port: 22 + script: | + docker compose -f /opt/dockerapps/docker-compose.yml pull ${{ env.DOCKER_IMAGE_NAME }} + docker compose -f /opt/dockerapps/docker-compose.yml up -d ${{ env.DOCKER_IMAGE_NAME }} +