2024-03-08
概要
- Ansible で Raspberry Pi 5 のセットアップをしている
- 試しに Go 1.22 を入れてみた
Raspberry Pi で遊んでいるのですが、入れてみたいものが多くあり、 環境をリセットしやすいよう Ansible でセットアップを自動化することにしました。
ディレクトリ構成
実行側の構成です。このディレクトリで ansible-playbook を走らせます
$ tree . ├── hosts.yaml └── playbook.yaml $ ansible-playbook -i hosts.yaml playbook.yaml PLAY [setup] *************************************************** // Ansible 実行
hosts
hosts.yaml に接続情報を書きます
--- all: hosts: raspberrypi: ansible_host: raspberrypi.local ansible_user: # ユーザ名 ansible_password: # パスワード
playbook
Ansible の Playbook です。とりあえず Go 1.22 を入れます
--- - name: setup hosts: all become: true tasks: - ansible.builtin.apt: update_cache: yes - ansible.builtin.file: path: '{{ ansible_env.HOME }}/workdir' state: directory recurse: yes - ansible.builtin.get_url: url: https://go.dev/dl/go1.22.0.linux-arm64.tar.gz dest: '{{ ansible_env.HOME }}/workdir/go122.tar.gz' checksum: sha256:6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10 - ansible.builtin.unarchive: src: '{{ ansible_env.HOME }}/workdir/go122.tar.gz' dest: '/usr/local' remote_src: yes # symlink - ansible.builtin.file: src: '/usr/local/go/bin/go' dest: '/usr/local/bin/go' state: link - ansible.builtin.file: path: '{{ ansible_env.HOME }}/workdir' state: absent
実行
Ansible を実行します
$ ansible-playbook -i hosts.yaml playbook.yaml PLAY [setup] ************************************************************************************************************** TASK [Gathering Facts] **************************************************************************************************** ok: [raspberrypi] TASK [ansible.builtin.apt] ************************************************************************************************ ok: [raspberrypi] TASK [ansible.builtin.file] *********************************************************************************************** changed: [raspberrypi] TASK [ansible.builtin.get_url] ******************************************************************************************** changed: [raspberrypi] TASK [ansible.builtin.unarchive] ****************************************************************************************** changed: [raspberrypi] TASK [ansible.builtin.file] *********************************************************************************************** changed: [raspberrypi] TASK [ansible.builtin.file] *********************************************************************************************** changed: [raspberrypi] PLAY RECAP **************************************************************************************************************** raspberrypi : ok=7 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
確認
SSH して結果を確認します
$ go version go version go1.22.0 linux/arm64
Go 1.22 がインストールされてました
終わりに
初めてラズパイを買ってみたのですが、めちゃ安くて面白く..
早く買っておくべきだったと後悔してます
作成日
2024-03-08
更新日
2024-03-08