Bashでは通常、次のようにComposerをインストールします。
curl -sS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
読もうとするAnsible Composerモジュールのドキュメント ヒントをあげるとAnsibleを使用してComposerをインストールするための推奨される方法は何ですか?
私はComposerをインストールするたびに、最新のインストールコマンドでComposerがインストールされていることを確認し、AnsibleがSSHを介してマイコンピュータから継続的にアップグレードされることを確認したいと思います。
state: latest
Ansible ""メソッド(Ansibleモジュールを使用)でこれをどのように実行できますかapt
?
答え1
する
ansible-galaxy install geerlingguy.composer
これは追加されますgeerlingguy.composer
キャラクターに追加してからスクリプトに追加できます。
答え2
ここに別のアプローチがあり、ここにすべてが説明されています。https://www.devopsaurus.com/install-composer-with-ansible/
---
- name: Validate Composer checksum
get_url:
checksum: "sha384:795f976fe0ebd8b75f26a6dd68f78fd3453ce79f32ecb33e7fd087d39bfeb978342fb73ac986cd4f54edd0dc902601dc"
dest: /usr/src/
url: https://getcomposer.org/installer
become: yes
- name: Download and install Composer
shell: curl -sS https://getcomposer.org/installer | php
args:
chdir: /usr/src/
creates: /usr/local/bin/composer
warn: false
become: yes
- name: Add Composer to global path
copy:
dest: /usr/local/bin/composer
group: root
mode: '0755'
owner: root
src: /usr/src/composer.phar
remote_src: yes
become: yes
答え3
ファイルに
get_url
出力するには、いくつかのディレクトリに次のように言うことが望ましいです。https://getcomposer.org/installer
composer-setup.php
/tmp
command
モジュールを使用してphp /tmp/composer-setup.php ...
ステップを実行する
または、Ansible Galaxyを検索して、他の人がその操作を行ったことを確認してください。
答え4
チェックサムを読み、変数に保存してからPHARファイルをディレクトリにダウンロードします/usr/local/bin
。チェックサム操作はオプションです。ただし、このバージョンを読むにはPHPが必要です。
---
- name: "Read Checksum"
shell: curl https://getcomposer.org/download/latest-stable/composer.phar.sha256
register: composer_checksum
- name: "Download PHAR file"
ansible.builtin.get_url:
url: https://getcomposer.org/download/latest-stable/composer.phar
dest: /usr/local/bin/composer
force: yes
checksum: "sha256:{{ composer_checksum.stdout }}"
- name: "Read composer version"
shell: composer -V
register: composer_version
- debug:
var: composer_version.stdout
期待される出力
ok: [127.0.0.1] => { "composer_version.stdout": "コンポーザーバージョン 2.1.9 2021-10-05 09:47:38" }