Files
Wordpress-Ansible/.gitea/workflows/yamllint.yml
sotos 7f2b3811cb
Some checks failed
CI/CD Pipeline / lint (push) Failing after 7s
CI/CD Pipeline / build (push) Has been skipped
CI/CD Pipeline / deploy (push) Has been skipped
udpate
2025-12-16 11:18:14 +01:00

77 lines
1.8 KiB
YAML

name: CI/CD Pipeline
on:
push:
branches: [ main, flip_dev ]
jobs:
lint:
runs-on: docker
container:
image: node:20-alpine
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install linters
run: |
apk add --no-cache python3 py3-pip bash git
pip install --upgrade pip
pip install yamllint ansible-lint
- name: Run linters
run: |
yamllint .
ansible-lint ansible/playbooks
build:
runs-on: docker
container:
image: node:20-alpine
needs: lint
steps:
- 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
run: |
echo "${{ secrets.REGISTRY_PASSWORD }}" | \
docker login dns.s-martika.com \
-u "${{ secrets.REGISTRY_USER }}" \
--password-stdin
- name: Build Docker image
run: docker build -t dns.s-martika.com/smartika/snake:latest frontend/
- name: Push Docker image
run: docker push dns.s-martika.com/smartika/snake:latest
deploy:
runs-on: docker
container:
image: node:20-alpine
needs: build
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Ansible & dependencies
run: |
apk add --no-cache openssh bash git python3 py3-pip
pip install ansible
- name: Setup SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H <SERVER_IP> >> ~/.ssh/known_hosts
- name: Run Ansible deployment
run: ansible-playbook -i ansible/inventory.yaml site.yaml