Ansible로 서버에 Ruby 설치
4801 단어 Ansibleansible-playbook환경 구축루비
설치하기 위해 한 일
절차는 대략 다음 4가지
1. Ansible Galaxy에서 Ruby를 설치할 역할을 찾습니다.
2.
ansible-galaxy install
명령으로 프로젝트의 역할에 추가3. 설치하고자하는 Ruby의 버전 등 설정 파일을 재기록
4. Playbook을 실행하고 웹 서버의 Ruby 버전을 확인합니다.
※ Ansible Galaxy란?
역할을 공유하는 서비스로 Docker Hub와 Chef의 Supermarket과 같은 이미지입니다.
1. Ansible Galaxy에서 Ruby를 설치할 역할을 찾습니다.
Ansible Galaxy 에서 keyword에 Ruby를 입력하고 star 수 등을 확인하면서 원하는 것을 찾습니다.
이번은 이쪽( geerlingguy.ruby )을 사용해 보겠습니다
2. ansible-galaxy install 명령을 사용하여 프로젝트의 역할에 추가
프로젝트의 역할 아래에 설치하고 싶었으므로이 명령을 실행했습니다.
$ ansible-galaxy install geerlingguy.ruby -p roles/servers/common
그런 다음 roles/servers/common/geerlingguy.ruby에 작성되었습니다.
3. 설치하고자하는 Ruby의 버전 등 설정 파일을 재기록
Ruby 2.4.2를 설치하고 싶었기 때문에
geerlingguy.ruby/defaults/main.yml
파일을 다시 씁니다.main.yml
---
workspace: /root
# Whether this role should install Bundler.
ruby_install_bundler: True
# A list of Ruby gems to install.
ruby_install_gems: []
# The user account under which Ruby gems will be installed.
ruby_install_gems_user: "{{ ansible_user }}"
# If set to True, ruby will be installed from source, using the version set with
# the 'ruby_version' variable instead of using a package.
ruby_install_from_source: True
ruby_download_url: http://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.gz
ruby_version: 2.4.2
# Default should usually work, but this will be overridden on Ubuntu 14.04.
ruby_rubygems_package_name: rubygems
※주의점
Playbook의 gather_facts를 true로 설정하지 않으면
"{{ ansible_user }}"
를 얻을 수 없습니다.false로 하면
"{{ ansible_user }}"
를 다시 작성해야 합니다.main.yml
省略
# The user account under which Ruby gems will be installed.
ruby_install_gems_user: "{{ ansible_user }}"
省略
Playbook의 일례로 이런 파일이라고 하면
webserver.yml
- name: webserver
hosts: web
gather_facts: true
remote_user: ec2-user
become: yes
roles:
- servers/common/geerlingguy.ruby
4. Playbook을 실행하고 웹 서버의 Ruby 버전을 확인합니다.
서버에 ssh하고 루비 버전을 확인해보십시오.
안전 Ruby 2.4.2가 설치되었습니다.
참고 사이트
Reference
이 문제에 관하여(Ansible로 서버에 Ruby 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shitake4/items/794b58761a4eeb4b141a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)