ども!なのまるです!
IDCFさんがゴールデンウィーク期間中のキャンペーンで、
ブログ記載キャンペーンをやっていたので、ノッてみることにしました!
もくじ
gitlabをIDCFクラウドに!
今回のキャンペーン(宿題)は、- IDCFのクラウドを使って
- OSSのgitlabをインストール
- その手順をブログなどに記載する
先人で中の人でもある方が、素晴らしい記事を書かれているので習ってやろうかと思ったんですが・・・
Itamaeの構成ファイルがあまりにも良く出来ていたので、
GW期間中に『Ansible』で同じことを出来るようにするのは自分には不可能だったので、サラッとAnsible Galaxyを使ってインストールしてみます!
ざっと流れ
- IDCFクラウドのアカウント取得
- IDCFクラウドに『Ubuntu 14.04』の仮想マシンを立ち上げる(仮想マシンA)
- (仮想マシンA)Ansibleをインストール
- CentOSの仮想マシンを立ち上げる(仮想マシンB)
- (仮想マシンA)Ansibleを実行
IDCFクラウドのアカウント取得
アカウントの取得は公式ガイドがよく出来ているので、そちらを参照して作成ください!そもそも、これの読者がアカウントを持っていないということを想定していないですwww
IDCFクラウドに『Ubuntu 14.04』の仮想マシンを立ち上げる(仮想マシンA)
IDCFクラウドポータルから、「仮想マシン作成」をして、「Ubuntu 14.04 LTS」の仮想マシンを作ります!- SSHキーの作成、またはアップロード
- SSHのポートフォワードを行う[パブリックが(ポート10022 など)、プライベート側は(ポート22)]
- ファイアーウォールで、先ほど設定したパブリックポートを開ける!(ポート10022など)
- 「Ubuntu 14.04 LTS」の仮想マシンを立ち上げる
(仮想マシンA)Ansibleをインストール
SSHを使って、先ほど作成したマシンにrootでログインして『Ansible』をインストールします!# パッケージを最新状態に sudo apt-get update && sudo apt-get upgrade -y # Ansbileをインストールするための準備 sudo apt-get install software-properties-common sudo apt-get install git sudo apt-add-repository ppa:ansible/ansible sudo apt-get update # Ansbileをインストール sudo apt-get install ansible # 管理画面で作成・登録した、SSHのPrivateキーを保存する vi .ssh/id_rsa
SSHキーなどの便宜上、rootでログインしています!
本運用では、サーバーアカウントの作成が必要になると思います!
参考:
CentOSの仮想マシンを立ち上げる(仮想マシンB)
今度はgitlabを入れる仮想マシンを作成します!- SSHキーは同じものを使ってください(とりあえずトラブル回避のため)
- ホスト名を「ansible-test02」としてください(AnsibleのPlaybookに書いてあるため)
- SSHのポートフォワードを行う[パブリックを必ず ポート22、プライベート側は(ポート22)]
- ファイアーウォールで、今設定したパブリックポートを開ける!(ポート22)
- 「CentOS 6.6」の仮想マシンを立ち上げる(CentOS7は今回うまく行かなかった)
(仮想マシンA)Ansibleを実行
Ansibleを使って、gitlabを仮想マシンBにインストールします!仮想マシンAにrootログインして、
# Ansible のPlaybookをダウンロード git clone https://github.com/snickerjp/ansible-gitlab-idcf.git # Ansbileを実行 cd ansible-gitlab-idcf ansible-playbook -i hosts site.yml
今回作った、AnsibleのPlaybook:
こんな感じで、うまくいくと思いますー(ちゃんと試した!)
$ ansible-playbook -i hosts site.yml PLAY [deploy gitlab] ********************************************************** GATHERING FACTS *************************************************************** ok: [ansible-test02] TASK: [geerlingguy.gitlab | Include OS-specific variables.] ******************* ok: [ansible-test02] TASK: [geerlingguy.gitlab | Check if GitLab configuration file already exists.] *** ok: [ansible-test02] TASK: [geerlingguy.gitlab | Install GitLab dependencies (RedHat).] ************ ok: [ansible-test02] => (item=openssh-server,postfix) TASK: [geerlingguy.gitlab | Install GitLab rpm (RedHat).] ********************* changed: [ansible-test02] TASK: [geerlingguy.gitlab | Install GitLab dependencies (Debian).] ************ skipping: [ansible-test02] TASK: [geerlingguy.gitlab | Check if GitLab is already installed.] ************ ok: [ansible-test02] TASK: [geerlingguy.gitlab | Download GitLab .deb package (Debian).] *********** skipping: [ansible-test02] TASK: [geerlingguy.gitlab | Install GitLab .deb package (Debian).] ************ skipping: [ansible-test02] TASK: [geerlingguy.gitlab | Reconfigure GitLab (first run - CentOS).] ********* changed: [ansible-test02] TASK: [geerlingguy.gitlab | Reconfigure GitLab (first run - Debian).] ********* skipping: [ansible-test02] TASK: [geerlingguy.gitlab | Create GitLab SSL configuration folder.] ********** changed: [ansible-test02] TASK: [geerlingguy.gitlab | Create self-signed certificate.] ****************** changed: [ansible-test02] TASK: [geerlingguy.gitlab | Copy GitLab configuration file.] ****************** changed: [ansible-test02] NOTIFIED: [geerlingguy.gitlab | restart gitlab] ******************************* changed: [ansible-test02] PLAY RECAP ******************************************************************** ansible-test02 : ok=11 changed=6 unreachable=0 failed=0
gitlab ログイン・設定
https://[設定したIP or ドメイン名]/ で、アクセス!SSL自己証明の場合は、警告が出るけど自分なので続行する!
- Username: root
- Password: 5iveL!fe
最初のログインは、パスワード変更を求められるので変更しておく!
自分のプロジェクトとか入れて、楽しめます!
まとめ
- IDCFクラウドで、Ansibleを使った『gitlab』の構築でした!
- Ansibleの環境構築や、もろもろ構築のための構築が面倒ですが、次回以降はすごく短くなると思います!
- 先で紹介したItamaeの構成ファイルに近づけるように、続けてAnsibleのPlaybookを修正します〜
Ansibleを使った構築もせっかくなので楽しんでみてくださいね!
本当はVagrant使って、環境作ってましたwww
参考サイト
IDCFクラウドはこちらから