Skip to content

Commit

Permalink
Merge pull request #5 from nwplus/automate-deployments
Browse files Browse the repository at this point in the history
GitHub Actions for Auto-deployment from 'production' Branch
  • Loading branch information
lsha0730 authored Jul 19, 2024
2 parents 6e5ab7d + b49e0cc commit 713d1c0
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 1 deletion.
63 changes: 63 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Dockerize and Deploy

on:
push:
branches:
- production

jobs:
dockerize:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: nwplus/dinubot:latest
-
name: Upload systemd service file
uses: actions/upload-artifact@v3
with:
name: dinubot-service-file
path: ./dinubot.service

deploy:
runs-on: self-hosted
needs: dockerize

steps:
- name: Download systemd service file
uses: actions/download-artifact@v3
with:
name: dinubot-service-file
path: .

- name: Pull Docker image
run: docker pull nwplus/dinubot:latest

- name: Copy systemd service file
run: sudo cp dinubot.service /etc/systemd/system/dinubot.service

- name: Reload systemd daemon
run: sudo systemctl daemon-reload

- name: Enable and start Dinubot service
run: |
sudo systemctl enable dinubot
sudo systemctl start dinubot
18 changes: 18 additions & 0 deletions dinubot.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[Unit]
Description=DinuBot, nwPlus's internal donut bot
After=network.target
[Service]
Type=simple
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/DinuBot
ExecStart=/usr/bin/docker compose up
ExecStop=/usr/bin/docker compose down
Restart=always
[Install]
WantedBy=multi-user.target
[Service]
Restart=always
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
dinubot:
image: lsha0730/dinubot
image: nwplus/dinubot
build: .
env_file:
- .env
Expand Down

0 comments on commit 713d1c0

Please sign in to comment.