環境構築
よんどころない事情によって、オフライン環境(=インターネットに疎通性がないクローズドな環境)で自動化環境を構築した際のメモ。
Vagrant部分に相当するサーバ構築は、DockerでもVMware Playerでもベアメタルでもお好きなものでどうぞ。
Jenkins、Mattermostは便利そうなのでいずれ思いますが、「習熟が~、管理が~、学習コストが~」と言われそうなので、ひとまず保留…(´・ω・`)
#資材のダウンロード
オフラインでの環境構築になるため、あらかじめ資材をダウンロードします。
資材をダウンロードする歳、必ず経由するCentOS(オンライン)上ではyumでパッケージを管理しているため、CentOS(オフライン)上ではお手軽に「rpm -ivh XXXXX」でインストールします。
また、Pythonのライブラリを手軽にダウンロードするために、CentOS(オンライン)上にPythonをインストールしています。
yum install -y epel-release git curl wget
# 各アプリ用ディレクトリ作成
cd /tmp
mkdir -p tools python pip gitlab ansible jenkins mattermost
# 各種ツール
yum install -y --downloadonly --downloaddir=tools epel-release jq createrepo wget
# python関連
yum install -y https://centos7.iuscommunity.org/ius-release.rpm
yum install -y --downloadonly --downloaddir=/tmp/python python34u python34u-libs python34u-devel python34u-pip
# pip関連
yum install -y python34u python34u-libs python34u-devel python34u-pip
pip install --upgrade pip
pip download -d /tmp/pip --no-binary :all simplejson requests pip python-dateutil lxml PyYAML py2exe pep8 tqdm Flask mysql-connector-python
# Ansible関連
yum install -y --downloadonly --downloaddir=/tmp/ansible ansible
# GitLab関連
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install -y --downloadonly --downloaddir=/tmp/gitlab curl policycoreutils-python openssh-server postfix gitlab-ce
# jenkins
#curl -LkvOf --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u192-b12/750e1c8617c5452694857ad95c3ee230/jdk-8u192-linux-x64.rpm -o "./jenkins"
#curl -o /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
#rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
#yum install -y --downloadonly --downloaddir=jenkins jenkins
# Mattermost
#wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm -P ./mattermost
#wget https://releases.mattermost.com/5.5.0/mattermost-5.5.0-linux-amd64.tar.gz -P ./mattermost
Vagrant
Vagrant2.0.3を使ったCentOS7.4の環境構築
cd [任意の作業用ディレクトリ]
vagrant init centos/7
vi Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.box_check_update = true
config.vm.network "private_network", ip: "192.168.20.10" config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
end
config.vm.provision "shell", inline: <<-SHELL
# yum -y update
# yum -y upgrade
SHELL
end
vagrant up
vagrant ssh
sudo -s
# root パスワード設定(★対話形式★)
passwd root
# ホスト名設定
hostnamectl set-hostname "workstation"
# hosts設定
echo "192.168.20.10 workstation" >> /etc/hosts
# タイムゾーン設定
timedatectl set-timezone Asia/Tokyo
# SELINUX無効化
sed -i.bak "/SELINUX/s/enforcing/disabled/g" /etc/selinux/config
# yum最新化
yum -y update
yum -y upgrade
vagrant reload
Python
Python 3 を CentOS 7 に yum でインストールする手順
rpm -ivh /tmp/python/*
pip install --upgrade /tmp/pip-*
pip install /tmp/pip/*
GitLab
# rpmインストール
rpm -ivh /tmp/gitlab/*
# ポート穴あけ(必要に応じて)
# firewall-cmd --permanent --add-service=http
# URL設定(★対話形式でexternal_urlを変更★)
vi /etc/gitlab/gitlab.rb
# 再構築
gitlab-ctl reconfigure
# 正常性確認 (htmlタグだ見えればたぶんOK)
curl http://workstation
Ansible
rpm -ivh /tmp/ansible/*
Jenkins
「習熟が~、管理が~」と言われそうなので、ひとまず保留…(´・ω・`)
JenkinsをCentOS 7にyumインストールする手順
JenkinsとGitLabを連携する方法
Mattermost
「習熟が~、管理が~」と言われそうなので、ひとまず保留…(´・ω・`)
Installing Mattermost on RHEL 7.1
JenkinsとGitLabとMattermostを連携する方法