diff --git a/github-actions/kubectl/kubernetes-deploy.yml b/github-actions/kubectl/kubernetes-deploy.yml new file mode 100644 index 00000000..98518739 --- /dev/null +++ b/github-actions/kubectl/kubernetes-deploy.yml @@ -0,0 +1,22 @@ +name: Kubernetes Deploy + +on: + push: + branches: + - main + +env: + KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} + +jobs: + deploy: + runs-on: your-runner + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Deploy Manifest + uses: actions-hub/kubectl@master + with: + args: apply -f your-manifest.yml diff --git a/github-actions/scp-action/copy-config-files.yml b/github-actions/scp-action/copy-config-files.yml new file mode 100644 index 00000000..f1c23ca7 --- /dev/null +++ b/github-actions/scp-action/copy-config-files.yml @@ -0,0 +1,26 @@ +name: copy config files to remote machine + +on: + push: + branches: + - main + paths: + - 'config/**' + +jobs: + deploy: + runs-on: your-runner + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Upload new Config Files + uses: appleboy/scp-action@master + with: + username: your-username + host: your-host + key: ${{ secrets.your-private-ssh-key }} + source: './config/*' + target: '/target/path/' + strip_components: 1 # remove the top level directory \ No newline at end of file diff --git a/github-actions/ssh-action/restart-docker.yml b/github-actions/ssh-action/restart-docker.yml new file mode 100644 index 00000000..9930840d --- /dev/null +++ b/github-actions/ssh-action/restart-docker.yml @@ -0,0 +1,31 @@ +name: Update Docker Compose File + +on: + push: + branches: + - main + paths: + - 'docker-compose.yml' + +env: + YOUR-ENV-SECRET: ${{ secrets.YOUR-ENV-SECRET }} + YOUR-ENV-VAR: ${{ vars.YOUR-ENV-VAR }} +jobs: + deploy: + runs-on: your-runner + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Restart Docker Container + uses: fifsky/ssh-action@master + with: + user: your-user + host: your-host + key: ${{ secrets.your-private-ssh-key }} + command: | + cd your-compose-project-directory + export YOUR-ENV-SECRET=${{ secrets.YOUR-ENV-SECRET }} + export YOUR-ENV-VAR=${{ vars.YOUR-ENV-VAR }} + docker-compose up -d --force-recreate