Compare commits
3 commits
e8d9c0ea1f
...
8075d3435c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8075d3435c | ||
|
|
bed4662b8f | ||
|
|
43824be312 |
3 changed files with 67 additions and 13 deletions
|
|
@ -4,6 +4,15 @@ on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- prod
|
- prod
|
||||||
|
- dev
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: git.lan.krilio.net
|
||||||
|
IMAGE_NAME: nuno/test-app # ← change this
|
||||||
|
APP_NAME: test-app # ← change this
|
||||||
|
PROD_DOMAIN: test.lan.krilio.net # ← change this
|
||||||
|
DEV_DOMAIN: dev.test.lan.krilio.net # ← change this
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
deploy:
|
deploy:
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
|
|
@ -12,25 +21,34 @@ jobs:
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- /opt/docker:/opt/docker
|
- /opt/docker:/opt/docker
|
||||||
env:
|
|
||||||
REGISTRY: git.lan.krilio.net
|
|
||||||
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
|
|
||||||
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Set environment
|
||||||
|
run: |
|
||||||
|
if [ "${{ github.ref_name }}" = "prod" ]; then
|
||||||
|
echo "TAG=prod" >> $GITHUB_ENV
|
||||||
|
echo "DOMAIN=${{ env.PROD_DOMAIN }}" >> $GITHUB_ENV
|
||||||
|
echo "COMPOSE=/opt/docker/${{ env.APP_NAME }}/docker-compose.yml" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "TAG=dev" >> $GITHUB_ENV
|
||||||
|
echo "DOMAIN=${{ env.DEV_DOMAIN }}" >> $GITHUB_ENV
|
||||||
|
echo "COMPOSE=/opt/docker/${{ env.APP_NAME }}/docker-compose.dev.yml" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
run: |
|
run: |
|
||||||
git clone --depth 1 --branch prod \
|
git clone --depth 1 --branch ${{ github.ref_name }} \
|
||||||
https://${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_PASSWORD }}@git.lan.krilio.net/nuno/test-app.git \
|
https://${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_PASSWORD }}@${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}.git \
|
||||||
.
|
.
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /root/.docker
|
mkdir -p /root/.docker
|
||||||
echo "{\"auths\":{\"git.lan.krilio.net\":{\"auth\":\"$(echo -n ${REGISTRY_USER}:${REGISTRY_PASSWORD} | base64)\"}}}" > /root/.docker/config.json
|
echo "{\"auths\":{\"${{ env.REGISTRY }}\":{\"auth\":\"$(echo -n ${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_PASSWORD }} | base64)\"}}}" \
|
||||||
docker build -t git.lan.krilio.net/nuno/test-app:prod .
|
> /root/.docker/config.json
|
||||||
docker push git.lan.krilio.net/nuno/test-app:prod
|
docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${TAG} .
|
||||||
|
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${TAG}
|
||||||
|
|
||||||
- name: Deploy on VM
|
- name: Deploy on VM
|
||||||
run: |
|
run: |
|
||||||
docker compose -f /opt/docker/test-app/docker-compose.yml pull
|
docker compose -f ${COMPOSE} pull
|
||||||
docker compose -f /opt/docker/test-app/docker-compose.yml up -d
|
docker compose -f ${COMPOSE} up -d
|
||||||
|
|
|
||||||
36
.forgejo/workflows/deploy.yml.bk
Normal file
36
.forgejo/workflows/deploy.yml.bk
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
name: Deploy
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- prod
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: docker
|
||||||
|
container:
|
||||||
|
image: docker:latest
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- /opt/docker:/opt/docker
|
||||||
|
env:
|
||||||
|
REGISTRY: git.lan.krilio.net
|
||||||
|
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
|
||||||
|
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
run: |
|
||||||
|
git clone --depth 1 --branch prod \
|
||||||
|
https://${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_PASSWORD }}@git.lan.krilio.net/nuno/test-app.git \
|
||||||
|
.
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
run: |
|
||||||
|
mkdir -p /root/.docker
|
||||||
|
echo "{\"auths\":{\"git.lan.krilio.net\":{\"auth\":\"$(echo -n ${REGISTRY_USER}:${REGISTRY_PASSWORD} | base64)\"}}}" > /root/.docker/config.json
|
||||||
|
docker build -t git.lan.krilio.net/nuno/test-app:prod .
|
||||||
|
docker push git.lan.krilio.net/nuno/test-app:prod
|
||||||
|
|
||||||
|
- name: Deploy on VM
|
||||||
|
run: |
|
||||||
|
docker compose -f /opt/docker/test-app/docker-compose.yml pull
|
||||||
|
docker compose -f /opt/docker/test-app/docker-compose.yml up -d
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
<h1>Deploy pipeline works!</h1>
|
<h1>Deploy pipeline works! [DEV]</h1>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue