Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
develop:gh_actions [2024/02/11 06:45] admin |
develop:gh_actions [2024/02/19 03:46] (текущий) admin |
||
---|---|---|---|
Строка 140: | Строка 140: | ||
==== Примеры ==== | ==== Примеры ==== | ||
- | |||
< | < | ||
Строка 148: | Строка 147: | ||
Настроено несколько окружений, | Настроено несколько окружений, | ||
- | " | + | |
+ | |||
+ | " | ||
+ | Триггеримся на пуш тега с формате " | ||
+ | Нюанс в том что сработает пуш этого тега в любую ветку а выпуск релиза предполагается наверно из мастера\\ | ||
<code bash> | <code bash> | ||
name: ci-production | name: ci-production | ||
- | on: workflow_dispatch | + | on: |
- | + | push: | |
- | #on: | + | tags: |
- | # | + | - ' |
- | # | + | |
- | # - '*-release-*' | + | |
jobs: | jobs: | ||
Строка 177: | Строка 179: | ||
secrets: inherit | secrets: inherit | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Для запуска тестов делаем flow с триггером на пуш в любую ветку кроме " | ||
+ | |||
+ | <code bash> | ||
+ | name: ci-test | ||
+ | on: | ||
+ | push: | ||
+ | branches: | ||
+ | - ' | ||
+ | - ' | ||
+ | |||
+ | jobs: | ||
+ | build: | ||
+ | uses: ./ | ||
+ | secrets: inherit | ||
+ | |||
+ | deploy-stage: | ||
+ | needs: build | ||
+ | uses: ./ | ||
+ | with: | ||
+ | environment: | ||
+ | secrets: inherit | ||
+ | </ | ||
+ | |||
+ | |||
" | " | ||
<code bash> | <code bash> | ||
name: build | name: build | ||
- | |||
on: | on: | ||
workflow_call: | workflow_call: | ||
Строка 219: | Строка 247: | ||
run: | | run: | | ||
echo ' | echo ' | ||
- | if [ " | + | |
- | echo " | + | |
- | echo " | + | echo " |
+ | echo " | ||
else | else | ||
- | echo " | + | echo " |
fi >> $GITHUB_ENV | fi >> $GITHUB_ENV | ||
echo ' | echo ' | ||
Строка 231: | Строка 260: | ||
uses: docker/ | uses: docker/ | ||
with: | with: | ||
- | registry: registry.myapp.io | + | registry: registry.myapp.ru |
username: ${{ secrets.DOCKER_USERNAME }} | username: ${{ secrets.DOCKER_USERNAME }} | ||
password: ${{ secrets.DOCKER_PASSWORD }} | password: ${{ secrets.DOCKER_PASSWORD }} | ||
Строка 246: | Строка 275: | ||
tags: ${{ env.DOCKER_TAGS }} | tags: ${{ env.DOCKER_TAGS }} | ||
</ | </ | ||
+ | |||
+ | |||
" | " | ||
Строка 252: | Строка 283: | ||
<code bash> | <code bash> | ||
name: deploy | name: deploy | ||
- | |||
on: | on: | ||
workflow_call: | workflow_call: | ||
Строка 273: | Строка 303: | ||
- uses: actions/ | - uses: actions/ | ||
+ | # Для того чтобы задеплоить именно эту версию образа, | ||
+ | # Указываем в докер-компоуз тег образа который мы добавляли на прошлом шаге | ||
+ | - name: Inject GitHub variables | ||
+ | uses: rlespinasse/ | ||
+ | |||
+ | - name: Get docker-image tags | ||
+ | run: | | ||
+ | echo ' | ||
+ | if [[ " | ||
+ | echo " | ||
+ | else | ||
+ | echo " | ||
+ | fi >> $GITHUB_ENV | ||
+ | echo ' | ||
+ | cat $GITHUB_ENV | ||
+ | |||
+ | # Далее добавить еще один replace в компоуз | ||
- name: Set secrets & environment | - name: Set secrets & environment | ||
run: | | run: | | ||
Строка 306: | Строка 353: | ||
</ | </ | ||
</ | </ | ||
+ | |||