Я пытаюсь настроить конвейер CICD, используя действия GitHub для Laravel и Elasticbeanstalk. Часть, которая меня смущает, - это файл .env. Прямо сейчас у меня есть рабочий процесс, который запускает тест, создает проект и развертывается в EB в zip -файле. Это работает, но файл .ENV меня смущает. Я уже клонирую Env. Пример для теста в первую очередь? Приведенный ниже код переопределяет файл env.example и создает новый с несколькими переменными. < /P>
name: CI-CD-Production
on:
workflow_dispatch:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
building:
name: 'Production: Build & Deploy App'
runs-on: ubuntu-latest
continue-on-error: false
steps:
- uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e
with:
php-version: '8.0'
- uses: actions/checkout@v3
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Install Packages
run: npm install && npm run build
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Create Database
run: |
mkdir -p database
touch database/database.sqlite
- name: Execute tests (Unit and Feature tests) via PHPUnit
env:
DB_CONNECTION: sqlite
DB_DATABASE: database/database.sqlite
run: vendor/bin/phpunit
- name: Configure .env
uses: SpicyPizza/create-envfile@v1.3
with:
envkey_DB_HOST: ${{ secrets.DB_HOST }}
envkey_DB_DATABASE: ${{ secrets.DB_DATABASE}}
envkey_DB_USERNAME: ${{ secrets.DB_USERNAME }}
envkey_DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
- name: Generate deployment package
run: zip -r deploy-${{ github.sha }}.zip . -x '*.git*'
- name: Deploy to ElasticBeanstalk
uses: einaregilsson/beanstalk-deploy@v20
with:
region: ap-southeast-1
aws_access_key: ${{ secrets.ACCESS_KEY_ID }}
aws_secret_key: ${{ secrets.SECRET_ACCESS_KEY }}
application_name: application
environment_name: application-env
version_label: "ver-${{ github.sha }}"
deployment_package: deploy-${{ github.sha }}.zip
use_existing_version_if_available : true
Подробнее здесь: https://stackoverflow.com/questions/734 ... y-env-file
Github action modify .env file ⇐ Php
Кемеровские программисты php общаются здесь
1759191311
Anonymous
Я пытаюсь настроить конвейер CICD, используя действия GitHub для Laravel и Elasticbeanstalk. Часть, которая меня смущает, - это файл .env. Прямо сейчас у меня есть рабочий процесс, который запускает тест, создает проект и развертывается в EB в zip -файле. Это работает, но файл .ENV меня смущает. Я уже клонирую Env. Пример для теста в первую очередь? Приведенный ниже код переопределяет файл env.example и создает новый с несколькими переменными. < /P>
name: CI-CD-Production
on:
workflow_dispatch:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
building:
name: 'Production: Build & Deploy App'
runs-on: ubuntu-latest
continue-on-error: false
steps:
- uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e
with:
php-version: '8.0'
- uses: actions/checkout@v3
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Install Packages
run: npm install && npm run build
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Create Database
run: |
mkdir -p database
touch database/database.sqlite
- name: Execute tests (Unit and Feature tests) via PHPUnit
env:
DB_CONNECTION: sqlite
DB_DATABASE: database/database.sqlite
run: vendor/bin/phpunit
- name: Configure .env
uses: SpicyPizza/create-envfile@v1.3
with:
envkey_DB_HOST: ${{ secrets.DB_HOST }}
envkey_DB_DATABASE: ${{ secrets.DB_DATABASE}}
envkey_DB_USERNAME: ${{ secrets.DB_USERNAME }}
envkey_DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
- name: Generate deployment package
run: zip -r deploy-${{ github.sha }}.zip . -x '*.git*'
- name: Deploy to ElasticBeanstalk
uses: einaregilsson/beanstalk-deploy@v20
with:
region: ap-southeast-1
aws_access_key: ${{ secrets.ACCESS_KEY_ID }}
aws_secret_key: ${{ secrets.SECRET_ACCESS_KEY }}
application_name: application
environment_name: application-env
version_label: "ver-${{ github.sha }}"
deployment_package: deploy-${{ github.sha }}.zip
use_existing_version_if_available : true
Подробнее здесь: [url]https://stackoverflow.com/questions/73426748/github-action-modify-env-file[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия