Skip to content

nothing

nothing #10

Workflow file for this run

name: go ci-cd
on:
push:
branches:
- main # Запускать пайплайн при пуше в ветку main
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.22' # Указываем версию Go
- name: Run port check (+install JQ)
run: |
sudo apt-get install -y jq # Установка зависимости для работы с JSON
chmod +x tests/port_check.sh # Даем права на выполнение скрипта
./tests/port_check.sh # Запускаем скрипт проверки портов
- name: Run tests
run: |
cd go/
go test -v
deploy:
runs-on: ubuntu-latest
needs: tests
env:
REMOTE_DIR: "/tmp"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: executing remote ssh commands using key
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.SERVER_DNS }}
username: deployer
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
sudo apt update && sudo apt install -y ansible
scp -r ./deploy-docker.yml ./ansible.cfg deployer@${{ secrets.SERVER_DNS }}:${{ env.REMOTE_DIR }}/
ANSIBLE_CONFIG=${{ env.REMOTE_DIR }}/ansible.cfg ansible-playbook ${{ env.REMOTE_DIR }}/deploy-docker.yml
# Хочу запустить ansible-playbook
# Для этого надо:
# 0. Подключиться к серверу - uses: appleboy/ssh-action@v1 - готово
# 1. установить/проверить ansible на сервере - внутри пункта 0 - готово
# 2. Передать плейбук и его конфиг на сервер - через scp или новый шаг?
# 3. Запустить плейбук -
#
#
#
#
#