feature ci/cd test 0.0046

This commit is contained in:
2026-03-01 14:49:55 +03:00
parent 7b4f17ae79
commit f0a737a138
9 changed files with 66 additions and 17 deletions

View File

@@ -3,15 +3,42 @@ on:
push:
branches:
- main
jobs:
deploy:
runs-on: node-ansible
steps:
- name: Setup SSH key
run: |
echo "${{ secrets.SSH_PRIVATE_KEY }}" > /tmp/id_rsa
chmod 600 /tmp/id_rsa
- name: Install Ansible collection
run: ansible-galaxy collection install community.docker
- name: Create inventory
run: echo "${{ secrets.INVENTORY }}" > inventory.ini
- name: Create secrets.yml
run: echo "${{ secrets.SECRETS }}" > secrets.yml
- name: Create .env file
run: echo "${{ secrets.WEDDING_SITE_ENV }}" > .env
- name: Run Ansible playbook
run: ansible-playbook -i inventory.ini deploy.yml -e @secrets.yml
env:
ANSIBLE_PRIVATE_KEY_FILE: /tmp/id_rsa
build:
runs-on: node-docker
needs: deploy
steps:
- uses: actions/checkout@v4
- name: Create .env file
run: |
echo "${{ secrets.WEDDING_SITE_ENV }}" > .env
run: echo "${{ secrets.WEDDING_SITE_ENV }}" > .env
- name: Build image
run: docker build -t back:latest -f docker/dockerfile .
- name: Start docker-compose
run: docker compose --env-file .env -f docker/docker-compose.yaml up -d

1
.gitignore vendored
View File

@@ -22,6 +22,7 @@ hint.py
#env
*.env
secrets.yml
#db
*.db
versions/

View File

@@ -1,10 +1,20 @@
- hosts: servers
become: yes
vars:
env_file: .env
tasks:
- name: Install Docker
shell: curl -fsSL https://get.docker.com | sh
args:
creates: /usr/bin/docker
apt:
name: docker-compose
state: present
update_cache: yes
- name: Copy .env to remote
copy:
src: "{{ env_file }}"
dest: /opt/infra/.env
owner: root
group: root
mode: '0600'
- name: Install git
apt:
@@ -14,10 +24,11 @@
- name: Clone repo
git:
repo: ${GITEA_INSTANCE_URL} //как то передавать переменные
repo: "{{ gitea_instance_url }}"
dest: /opt/infra
- name: Start docker compose
shell: docker compose up -d
args:
chdir: /opt/infra
- name: Start docker compose via module
community.docker.docker_compose:
project_src: /opt/infra
state: present
restarted: true

View File

@@ -1,3 +0,0 @@
ansible-playbook -i inventory.ini deploy.yml -e "target_host=$HOST"
GITEA_INSTANCE_URL="..."
HOST="..."

View File

@@ -1,2 +0,0 @@
[servers]
myserver ansible_user=root

View File

@@ -0,0 +1,2 @@
[servers]
myserver host=... ansible_user=...

1
ansible/secrets_example Normal file
View File

@@ -0,0 +1 @@
gitea_instance_url: ...

View File

@@ -0,0 +1,12 @@
services:
runner:
image: gitea/act_runner:latest
restart: always
volumes:
- ./data/act_runner:/data
- /var/run/docker.sock:/var/run/docker.sock
environment:
- GITEA_INSTANCE_URL=${GITEA_INSTANCE_URL}
- GITEA_RUNNER_REGISTRATION_TOKEN=${TOKEN}
- GITEA_RUNNER_NAME=docker-runner
- GITEA_RUNNER_LABELS=node-ansible:docker://homyakspace/wedding-ansible:${TAG}

View File

@@ -9,4 +9,4 @@ services:
- GITEA_INSTANCE_URL=${GITEA_INSTANCE_URL}
- GITEA_RUNNER_REGISTRATION_TOKEN=${TOKEN}
- GITEA_RUNNER_NAME=docker-runner
- GITEA_RUNNER_LABELS=node-docker:docker://homyakspace/wedding:${TAG}, node-ansible:docker://homyakspace/wedding-ansible:${TAG}
- GITEA_RUNNER_LABELS=node-docker:docker://homyakspace/wedding:${TAG}