#cron #github-actions
Вопрос:
У меня есть следующее действие на github:
name: build_and_deploy
on:
schedule:
- cron: '23 0 * * 6'
push:
branches: [
master,
dev
]
jobs:
build_apache_images:
runs-on: ubuntu-latest
strategy:
matrix:
moodle_version: [35,38,39,310,311]
database: ['all','mysqli','pgsql']
env:
VERSION: ${{ matrix.moodle_version }}
DB_TYPE: ${{ matrix.database }}
LATEST: 311
LATEST_LTS: 39
steps:
- name: Check Out Repo
uses: actions/checkout@v2
- name: Login to Docker Hub
if: github.ref != 'refs/heads/dev'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name : Build Docker Images
shell: bash
run: |
docker --version
ls -l ./.github
chmod x ".github/build_docker.sh"
.github/build_docker.sh 'dockerfiles/apache/Dockerfile'
build_alpine_fpm_images:
runs-on: ubuntu-latest
strategy:
matrix:
moodle_version: [35,38,39,310,311]
database: ['all','mysqli','pgsql']
env:
VERSION: ${{ matrix.moodle_version }}
DB_TYPE: ${{ matrix.database }}
LATEST: 311
LATEST_LTS: 39
steps:
- name: Check Out Repo
uses: actions/checkout@v2
- name: Login to Docker Hub
if: github.ref != 'refs/heads/dev'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name : Build Docker Images
shell: bash
run: |
docker --version
ls -l ./.github
chmod x ".github/build_docker.sh"
.github/build_docker.sh 'dockerfiles/fpm_alpine/Dockerfile'
build_fpm_images:
runs-on: ubuntu-latest
strategy:
matrix:
moodle_version: [35,38,39,310,311]
database: ['all','mysqli','pgsql']
env:
VERSION: ${{ matrix.moodle_version }}
DB_TYPE: ${{ matrix.database }}
LATEST: 311
LATEST_LTS: 39
steps:
- name: Check Out Repo
uses: actions/checkout@v2
- name: Login to Docker Hub
if: github.ref != 'refs/heads/dev'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name : Build Docker Images
shell: bash
run: |
docker --version
ls -l ./.github
chmod x ".github/build_docker.sh"
.github/build_docker.sh 'dockerfiles/fpm/Dockerfile'
И я хочу, чтобы вместо того, чтобы создавать их все каждую субботу, у меня было определенное время на каждую работу. Как вы можете видеть, я запускаю один и тот же скрипт с разными параметрами. Поэтому я хочу, чтобы параметр скрипта был сохранен в определенной переменной среды, которая в каждом cron будет иметь разное значение.
Другими словами, я хочу, чтобы у меня было следующее:
on:
schedule:
# I want on each cron the environmental variable DOCKERFILE to retrieve different value
- cron: '23 0 * * 6'
- cron: '21 0 * * 6'
- cron: '20 0 * * 6'
push:
branches: [
master,
dev
]
jobs:
build_apache_images:
runs-on: ubuntu-latest
strategy:
matrix:
moodle_version: [35,38,39,310,311]
database: ['all','mysqli','pgsql']
env:
VERSION: ${{ matrix.moodle_version }}
DB_TYPE: ${{ matrix.database }}
LATEST: 311
LATEST_LTS: 39
steps:
- name: Check Out Repo
uses: actions/checkout@v2
- name: Login to Docker Hub
if: github.ref != 'refs/heads/dev'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name : Build Docker Images
shell: bash
run: |
docker --version
ls -l ./.github
chmod x ".github/build_docker.sh"
.github/build_docker.sh ${DOCKERFILE}
But depending on the cron how I can set different value to environental variable DOCKERFILE
?