AnsibleでLinuxに最新版のpecoをインストールする
pecoのインストールに限った話ではないのですが、githubでreleaseされている最新版をAnsibleでインストールしたいことがあって書いた。Macだとbrew install 一発なんだけど、Linuxで使いたかったので。
tl;dr
完成形
peco.yml
- name: Get latest peco version
shell: >
curl -sI https://github.com/peco/peco/releases/latest | awk -F'/' '/^Location:/{print $NF}'
register: peco_latest_version
- name: Download latest peco
get_url: url=https://github.com/peco/peco/releases/download/{{ peco_latest_version.stdout }}/peco_linux_amd64.tar.gz dest=/tmp/peco_linux_amd64.tar.gz
- name: Extract peco
unarchive: src=/tmp/peco_linux_amd64.tar.gz dest=/tmp/
- name: Copy to /usr/bin/
copy: src=/tmp/peco_linux_amd64/peco dest=/usr/bin/ mode=0755
最新バージョンを取得
インストール時に一番新しいのを使いたいので自動で最新版を取得する。
- name: Get latest peco version
shell: >
curl -sI https://github.com/peco/peco/releases/latest | awk -F'/' '/^Location:/{print $NF}'
register: peco_latest_version
https://github.com/peco/peco/releases/latest にアクセスしてredirect先のurlを取得して、awkでバージョンを切り出し、peco_latest_versionに格納。
ダウンロードして、コピー
- name: Download latest peco
get_url: url=https://github.com/peco/peco/releases/download/{{ peco_latest_version.stdout }}/peco_linux_amd64.tar.gz dest=/tmp/peco_linux_amd64.tar.gz
- name: Extract peco
unarchive: src=/tmp/peco_linux_amd64.tar.gz dest=/tmp/
- name: Copy to /usr/bin/
copy: src=/tmp/peco_linux_amd64/peco dest=/usr/bin/ mode=0755
- https://github.com/peco/peco/releases/download/{{ peco_latest_version.stdout }}/peco_linux_amd64.tar.gzからダウンロード
- 解凍
- /usr/binにパーミッション指定してcopy
参考
Author And Source
この問題について(AnsibleでLinuxに最新版のpecoをインストールする), 我々は、より多くの情報をここで見つけました https://qiita.com/yosmoc/items/8d77f4b5a503ca58b64e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .