ci/cd
Some checks failed
CI/CD Pipeline / lint (push) Failing after 22s
CI/CD Pipeline / build (push) Has been skipped
CI/CD Pipeline / deploy (push) Has been skipped

This commit is contained in:
sotos
2025-12-16 09:40:30 +01:00
parent 76403b3831
commit cd28c0f648

View File

@@ -7,12 +7,15 @@ on:
jobs: jobs:
lint: lint:
runs-on: docker runs-on: docker
container:
image: node:20-alpine # Node available for Gitea Actions
steps: steps:
- uses: actions/checkout@v4 - name: Checkout code
uses: actions/checkout@v4
- name: Install linters - name: Install linters
run: | run: |
apk add --no-cache python3 py3-pip apk add --no-cache python3 py3-pip bash git
pip install yamllint ansible-lint pip install yamllint ansible-lint
- name: YAML lint - name: YAML lint
@@ -23,9 +26,17 @@ jobs:
build: build:
runs-on: docker runs-on: docker
container:
image: node:20-alpine
needs: lint needs: lint
steps: steps:
- uses: actions/checkout@v4 - name: Checkout code
uses: actions/checkout@v4
- name: Install Docker CLI
run: |
apk add --no-cache docker bash git
dockerd & sleep 5
- name: Login to Gitea Registry - name: Login to Gitea Registry
run: | run: |
@@ -35,31 +46,37 @@ jobs:
--password-stdin --password-stdin
- name: Build Docker image - name: Build Docker image
run: | run: docker build -t dns.s-martika.com/smartika/snake:latest frontend/
docker build \
-t dns.s-martika.com/smartika/snake:latest \
frontend/
- name: Push Docker image - name: Push Docker image
run: | run: docker push dns.s-martika.com/smartika/snake:latest
docker push dns.s-martika.com/smartika/snake:latest
deploy: deploy:
runs-on: docker runs-on: docker
container:
image: node:20-alpine
needs: build needs: build
steps: steps:
- uses: actions/checkout@v4 - name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: |
apk add --no-cache openssh bash git python3 py3-pip
pip install ansible
- name: Setup SSH - name: Setup SSH
run: | run: |
apk add --no-cache openssh ansible
mkdir -p ~/.ssh mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H <SERVER_IP> >> ~/.ssh/known_hosts ssh-keyscan -H <SERVER_IP> >> ~/.ssh/known_hosts
- name: Run Ansible deployment
run: ansible-playbook -i ../../ansible/inventory.yaml ../../site.yml
- name: Run Ansible deployment - name: Run Ansible deployment
run: | run: |
ansible-playbook \ ansible-playbook \
-i ./ansible/inventory.yaml \ -i \
./site.yml ./site.yml