diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 42f8452..02b16f4 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -1,27 +1,25 @@ -name: ci +name: CI on: push: - branches: - - dev - pull_request: - branches: + branches-ignore: - master - - jobs: build: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v6 - - name: Node setup - uses: actions/setup-node@v6 + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 with: node-version: "25" - name: Install deps run: npm install + + - name: Lint + run: npm run lint + - name: Build run: npm run build diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index b0d08d3..ea2cbd2 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -13,24 +13,30 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Setup SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + - name: Install Ansible run: apt update && apt install -y ansible - name: Login to registry run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login $REGISTRY -u "${{ secrets.REGISTRY_USER }}" --password-stdin - - name: Build and push image + - name: Build and push run: | IMAGE=$REGISTRY/hellreign/frontend - docker build -f dockerfile -t $IMAGE:dev -t $IMAGE:${{ gitea.sha }} . + docker build -f dockerfile -t $IMAGE:dev -t $IMAGE:latest . docker push $IMAGE:dev - docker push $IMAGE:${{ gitea.sha }} + docker push $IMAGE:latest - - name: Deploy via Ansible + - name: Deploy run: | echo "${{ secrets.ANSIBLE_VAULT_PASSWORD }}" > .vault_pass ansible-playbook -i infra/ansible/inventory/hosts.yml infra/ansible/playbook.yml \ --vault-password-file .vault_pass \ -e registry=$REGISTRY \ - -e tag=${{ gitea.sha }} + -e tag=latest rm .vault_pass diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..768f283 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,7 @@ +services: + app: + build: + context: . + dockerfile: dockerfile + ports: + - "80:80" diff --git a/infra/ansible/inventory/hosts.yml b/infra/ansible/inventory/hosts.yml index 9b91618..acea417 100644 --- a/infra/ansible/inventory/hosts.yml +++ b/infra/ansible/inventory/hosts.yml @@ -4,7 +4,3 @@ all: ansible_host: ansible_user: root ansible_port: 22 - vars: - registry: gitea.d3m0k1d.ru - registry_user: - registry_password: diff --git a/infra/ansible/playbook.yml b/infra/ansible/playbook.yml index 283f132..5468699 100644 --- a/infra/ansible/playbook.yml +++ b/infra/ansible/playbook.yml @@ -15,10 +15,6 @@ src: "{{ playbook_dir }}/../docker-compose.yml" dest: "{{ deploy_path }}/docker-compose.yml" - - name: Login to registry - ansible.builtin.shell: - cmd: echo "{{ registry_password }}" | docker login "{{ registry }}" -u "{{ registry_user }}" --password-stdin - - name: Pull images ansible.builtin.shell: cmd: docker compose pull @@ -27,7 +23,7 @@ REGISTRY: "{{ registry }}" TAG: "{{ tag }}" - - name: Restart services + - name: Start services ansible.builtin.shell: cmd: docker compose up -d --remove-orphans chdir: "{{ deploy_path }}"