--- # generic name: 'Build and Publish' on: push: branches: - 'master' # build job jobs: build: runs-on: 'ubuntu-latest' steps: # checkout code - name: 'Clone repo' uses: 'actions/checkout@v2' # login to cr.simoncor.net - name: 'Login to cr.simoncor.net' uses: 'docker/login-action@v2' with: registry: 'cr.simoncor.net' username: ${{ vars.REGISTER_USERNAME }} password: ${{ vars.REGISTER_PASSWORD }} # build and publish container - name: 'Build and Publish' uses: 'docker/build-push-action@v6' with: context: '.' file: 'Dockerfile.linux.amd64' push: true tags: | cr.simoncor.net/siempie/roundcube:latest cr.simoncor.net/siempie/roundcube:v1 # ansible deployment deployment: runs-on: 'ubuntu-latest' steps: # ansible deployment - name: 'Ansible deployment' uses: 'appleboy/ssh-action@v1.0.3' with: # bastion proxy_host: 'siempie.com' proxy_port: '22' proxy_username: ${{ secrets.USERNAME }} proxy_key: ${{ secrets.SSHKEY }} # ansible management host: 'ansible.siempie.internal' port: '22' username: ${{ secrets.USERNAME }} key: ${{ secrets.SSHKEY }} # command script: | sudo /usr/local/bin/ansible-playbook /etc/ansible/playbooks/production/roundcube.yaml