Compare commits
82 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6da4a9cfac | ||
|
|
88508d4924 | ||
|
|
3d34b2ab9a | ||
|
|
0757de98ba | ||
| ba780de115 | |||
| eed61dae49 | |||
|
|
deab129578 | ||
|
|
6500f3c3f1 | ||
|
|
fda9ff78fa | ||
|
|
89801e787f | ||
|
|
d022ae189c | ||
|
|
423b9f5fe3 | ||
|
|
2a27dadff7 | ||
|
|
b845cdaeab | ||
|
|
0a68951571 | ||
|
|
58c6150ef8 | ||
|
|
814c17d4c9 | ||
|
|
d00d4ac692 | ||
|
|
6ad798a2a2 | ||
|
|
b403054348 | ||
|
|
1cb83bd0c5 | ||
|
|
e67f064421 | ||
|
|
992a420bcd | ||
|
|
f7f4da2583 | ||
|
|
dca9102a8d | ||
|
|
91486251b8 | ||
|
|
1903d5a843 | ||
| 4f7a8c86bc | |||
|
|
fd5e32e53c | ||
|
|
49b94048af | ||
| c44086b4bc | |||
| 20927729a4 | |||
| 4f5c05a3f8 | |||
|
|
38436e7e33 | ||
| c30b3714fa | |||
|
|
05c40ab314 | ||
|
|
b78fd5f183 | ||
|
|
33ebaa12b7 | ||
| af14a65c34 | |||
| 7e88f4ffa5 | |||
|
|
f4ec4a244e | ||
|
|
6c8f8daeec | ||
|
|
9b89799903 | ||
|
|
92d0a6ff26 | ||
|
|
c5de1286d2 | ||
|
|
e39cce92c3 | ||
|
|
43d6a7c69d | ||
| d149e3b461 | |||
| 0f5d8d08c8 | |||
|
|
6cfb939a8d | ||
|
|
b35d2bb44c | ||
| c4fbbd535e | |||
| d009c17e07 | |||
| 2cef4b4a2f | |||
| 8f3b72b8be | |||
| 12d2b23ede | |||
|
|
3ac5cb3a06 | ||
| 97d3da0cf7 | |||
| 8950f509d2 | |||
|
|
b0dc2aa449 | ||
| 72d0989fcc | |||
| 510182765a | |||
|
|
95769adf87 | ||
|
|
2422ea3a5d | ||
| c199fb3134 | |||
| 81cd297193 | |||
| b658413810 | |||
| 25b5715a9d | |||
| 8c7ba564dd | |||
| d9f0b214b5 | |||
|
|
7bc9cd05ce | ||
| 7f13dabaca | |||
| 516d8a1469 | |||
|
|
79fbab0f5f | ||
| 85ab43cb1f | |||
| a720984473 | |||
| 27ef434b22 | |||
| e9207c90fa | |||
| 9a4f5b5d27 | |||
| 957e4c65c0 | |||
| 280e67042b | |||
| 0d30fa45d5 |
3 changed files with 165 additions and 0 deletions
50
.forgejo/workflows/build.yml
Normal file
50
.forgejo/workflows/build.yml
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
# /.forgejo/workflows/build.yml
|
||||||
|
name: Build
|
||||||
|
|
||||||
|
# on:
|
||||||
|
# push:
|
||||||
|
# tags:
|
||||||
|
# - "v[0-9]+.[0-9]+.[0-9]+"
|
||||||
|
# - "v[0-9]+.[0-9]+.[0-9]+*"
|
||||||
|
# workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
||||||
|
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
||||||
|
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
||||||
|
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}/${{ vars.CONTAINER_IMAGE_NAME }}
|
||||||
|
IMAGE_VERSION: build
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v2
|
||||||
|
with:
|
||||||
|
config-inline: |
|
||||||
|
[registry."${{ env.REGISTRY }}"]
|
||||||
|
ca=["/etc/ssl/certs/ca-certificates.crt"]
|
||||||
|
- name: Tag Version
|
||||||
|
run: |
|
||||||
|
if [[ "${{ github.event_name }}" == "push" ]]; then
|
||||||
|
echo "IMAGE_VERSION=${{ github.ref_name }}" | sed 's/v//g' >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
- name: Login in to registry
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
registry: ${{ env.REGISTRY }}
|
||||||
|
username: ${{ env.REGISTRY_USERNAME }}
|
||||||
|
password: ${{ env.REGISTRY_PASSWORD }}
|
||||||
|
- name: Build and push docker image
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
platforms: linux/amd64
|
||||||
|
context: .
|
||||||
|
file: ./docker/Dockerfile
|
||||||
|
tags: ${{ env.CONTAINER_IMAGE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}:${{ env.IMAGE_VERSION }}
|
||||||
|
push: true
|
||||||
86
.forgejo/workflows/ci-cd.yml
Normal file
86
.forgejo/workflows/ci-cd.yml
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
# /.forgejo/workflows/ci-cd.yml
|
||||||
|
name: Build & Deploy on Dev
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
# branches:
|
||||||
|
# - dev
|
||||||
|
tags:
|
||||||
|
- "v[0-9]+.[0-9]+.[0-9]+"
|
||||||
|
- "v[0-9]+.[0-9]+.[0-9]+*"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
|
||||||
|
REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
|
||||||
|
REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
||||||
|
CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}/${{ vars.CONTAINER_IMAGE_NAME }}
|
||||||
|
IMAGE_VERSION: latest
|
||||||
|
DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v2
|
||||||
|
with:
|
||||||
|
config-inline: |
|
||||||
|
[registry."${{ env.REGISTRY }}"]
|
||||||
|
ca=["/etc/ssl/certs/ca-certificates.crt"]
|
||||||
|
- name: Tag Version
|
||||||
|
run: |
|
||||||
|
if [ "${{ github.ref_type }}" == "tag" ]; then
|
||||||
|
echo "IMAGE_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "IMAGE_VERSION=latest" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
- name: Login in to registry
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
registry: ${{ env.REGISTRY }}
|
||||||
|
username: ${{ env.REGISTRY_USERNAME }}
|
||||||
|
password: ${{ env.REGISTRY_PASSWORD }}
|
||||||
|
- name: Build and push docker image
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
platforms: linux/amd64
|
||||||
|
context: .
|
||||||
|
file: ./docker/Dockerfile
|
||||||
|
tags: ${{ env.CONTAINER_IMAGE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}:${{ env.IMAGE_VERSION }}
|
||||||
|
push: true
|
||||||
|
- name: Remote Deploy
|
||||||
|
uses: appleboy/ssh-action@v1.2.1
|
||||||
|
with:
|
||||||
|
host: ${{ vars.SSH_DEPLOY_HOST }}
|
||||||
|
port: ${{ vars.SSH_DEPLOY_PORT }}
|
||||||
|
username: ${{ secrets.SSH_DEPLOY_USER }}
|
||||||
|
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
||||||
|
script: |
|
||||||
|
cd ~/repo
|
||||||
|
./replace-env.sh APP_USER "${{ env.IMAGE_VERSION }}"
|
||||||
|
./deploy.sh hrms-user
|
||||||
|
|
||||||
|
- name: Discord Notification
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
|
||||||
|
COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
|
||||||
|
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
||||||
|
curl -H "Content-Type: application/json" \
|
||||||
|
-X POST \
|
||||||
|
-d "{
|
||||||
|
\"embeds\": [{
|
||||||
|
\"title\": \"$STATUS\",
|
||||||
|
\"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ github.actor }}\`\",
|
||||||
|
\"color\": $COLOR,
|
||||||
|
\"footer\": {
|
||||||
|
\"text\": \"Release Notification\",
|
||||||
|
\"icon_url\": \"https://example.com/success-icon.png\"
|
||||||
|
},
|
||||||
|
\"timestamp\": \"$TIMESTAMP\"
|
||||||
|
}]
|
||||||
|
}" \
|
||||||
|
${{ env.DISCORD_WEBHOOK }}
|
||||||
29
.forgejo/workflows/deploy.yml
Normal file
29
.forgejo/workflows/deploy.yml
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
name: Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: "Version to deploy"
|
||||||
|
type: string
|
||||||
|
required: false
|
||||||
|
default: "latest"
|
||||||
|
|
||||||
|
env:
|
||||||
|
IMAGE_VERSION: build
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Remote Deploy
|
||||||
|
uses: appleboy/ssh-action@v1.2.1
|
||||||
|
with:
|
||||||
|
host: ${{ vars.SSH_DEPLOY_HOST }}
|
||||||
|
port: ${{ vars.SSH_DEPLOY_PORT }}
|
||||||
|
username: ${{ secrets.SSH_DEPLOY_USER }}
|
||||||
|
password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
|
||||||
|
script: |
|
||||||
|
cd ~/repo
|
||||||
|
./replace-env.sh APP_USER "${{ inputs.version }}"
|
||||||
|
./deploy.sh hrms-user
|
||||||
Loading…
Add table
Add a link
Reference in a new issue