2 回答

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
這些命令由root
用戶(hù)運(yùn)行,如docs中所述。
指定的命令以 root 用戶(hù)身份運(yùn)行,并按名稱(chēng)按字母順序處理。容器命令從暫存目錄運(yùn)行,您的源代碼在部署到應(yīng)用程序服務(wù)器之前被提取出來(lái)。當(dāng)源部署到其最終位置時(shí),您使用容器命令對(duì)暫存目錄中的源代碼所做的任何更改都將包含在內(nèi)。
(強(qiáng)調(diào)我的)。
重新創(chuàng)建緩存時(shí),新目錄由 擁有root
,如果需要,您的 PHP 進(jìn)程無(wú)法在那里寫(xiě)入。
執(zhí)行您的命令,使其使用與 PHP 運(yùn)行時(shí)相同的用戶(hù)運(yùn)行。例如,如果它在www-data
用戶(hù)下運(yùn)行:
container_commands: 01-clear-cache: command: sudo -u webapp php bin/console cache:clear --no-warmup --env=prod

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
使用 Ansible 時(shí),您實(shí)際上可以將become: true其用作成為 root 用戶(hù)并become_user: xxx成為所需用戶(hù)的機(jī)制。
例子:
---
# roles/app/tasks/main.yml
- name: Run composer install
become: true
become_user: ubuntu
composer:
command: install
working_dir: "{{ deploy_path }}"
請(qǐng)注意,您必須定義一個(gè)名為deploy_path.
- 2 回答
- 0 關(guān)注
- 126 瀏覽
添加回答
舉報(bào)