и меня вводит в заблуждение данное действие (из обсуждения по мной указанной ссылке):
COPY ${CI_PROJECT_DIR}/tmp/app /var/www/app
script:
- echo $CI_JOB_STAGE
- mkdir -p artifacts
- docker-compose build --force-rm --no-cache
artifacts:
when: always
paths:
- "artifacts/*"
Многословность (в сравнении с вызовом функций) меня также убивает:
```yaml
- name: "xxxx"
files:
path: /a/b/c
state: directory
```
вместо ожидаемого
```python
# xxxx
files('/a/b/c', kind='directory')
```
- name: xxx
command: mkdir /a/b/c
- name: xxx
files:
path: /a/b/c
state: directory
- есть роль которая зависит от другой роли (например некоторый сервис, который должен быть выставлен через nginx - т.е. зависим от nginx'a). Настройка nginx'a специфична, может быть использована независимо от сервиса.
- нужно установить три раза одну и ту же роль, но с разными параметрами (например - выдача сертификатов на разные домены на одну машину). Либо include_role с vars, либо копипаста. Многословно. Хотелось бы сделать функцию а-ля `install_certs(domain)` и вызвать ее.
ssl_frontend_domain:
- domain1.ru
- domain2.com
- name: Get new certificate for "{{ ssl_frontend_domain }} list"
debug:
msg: "certbot certonly -m my@mail.ru --agree-tos --no-eff-email -d {{ ssl_frontend_domain | join(',') }} --redirect --webroot -w /opt/tmp"
- name: Get certs
hosts: localhost
connection: local
roles:
- my_role
ansible-playbook playbook.yml
TASK [my_role : Get new certificate for "['domain1.ru', 'domain2.com'] list"] ***********************
ok: [localhost] => {
"msg": "certbot certonly -m my@mail.ru --agree-tos --no-eff-email -d domain1.ru,domain2.com --redirect --webroot -w /opt/tmp"
}
# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
;push "redirect-gateway def1 bypass-dhcp"