AzureにCentOS7を構築してGitlabをインストール

※無料で構築・運用することを目的としていますが、自己責任でお願いいたします。

#1. Microsoft Azureのアカウントを作成する

https://azure.microsoft.com/ja-jp/


今作成すると無料試用版として30日間試用できます。

![ms_azure.png](https://qiita-image-store.s3.amazonaws.com/0/2567/02941207-895d-d7a6-952c-f66c5b3a6ce3.png)

手順を進めると本人確認のためクレジットカード登録が必要になりますが、クレジットカードを登録してもアカウントのサブスクリプションを「従量課金」に切り替えない限り請求が発生することはありません。（試用しつづけられます。）

さらに、Visual Studio Dev Essentialsでの、開発/テスト向けのAzure無料枠が利用可能になりました。これによって、12か月にわたってAzure無料枠を毎月3,000円 (25ドル) 利用できます。

![my_visualstudio.png](https://qiita-image-store.s3.amazonaws.com/0/2567/f5928d6c-a299-1126-c725-80b017d05e1c.png)

[無料のVisual Studio Dev Essentialsで、毎月3000円のAzure無料枠を活用しよう](https://satonaoki.wordpress.com/2016/02/05/vs-dev-essentials-azure/)

#2. Visual Studio Dev Essentialsのアカウントを作成し、毎月3000円を獲得する

https://my.visualstudio.com/Benefits

「Azure App Service」を選択


![my_visualstudio - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/2567/07c8ca6b-3c90-1ff6-44af-08b3ecd9ac03.png)

#3. 仮想マシンを新規作成する

Azureポータルに戻り、ダッシュボード左端のメニューから「新規」をクリックして、仮想マシンを作成していきます。

![new_create.png](https://qiita-image-store.s3.amazonaws.com/0/2567/27a9bcc9-3694-440c-70b6-aabc6d083d19.png)

検索ボックスに「centos 7.3」と入力します。


![input_centos7.png](https://qiita-image-store.s3.amazonaws.com/0/2567/6b5264dd-8f98-dbed-5802-469b50dce748.png)

結果に一覧表示された中から「Openlogic」の「CentOS-based 7.3」を選択します。


![select_centos73.png](https://qiita-image-store.s3.amazonaws.com/0/2567/bb85f104-4777-7436-536d-f0919bf522ba.png)

デプロイモデルの選択欄は「Resource Manager」のまま、「作成」ボタンをクリックします。


![create_push.png](https://qiita-image-store.s3.amazonaws.com/0/2567/5fd7293b-7eb8-b309-a24a-b6d64800a798.png)

基本設定の構成で、「名前」、「ユーザ名」、「SSH公開キー」、「リソースグループ」、「場所」を入力して、「OK」ボタンをクリックします。

![input_base.png](https://qiita-image-store.s3.amazonaws.com/0/2567/da5d9f2c-1480-6af1-c14e-afdb8d493b4b.png)

サイズの選択で、一番安い「DS1_V2」を選択して「選択」ボタンをクリックします。


![select_vm.png](https://qiita-image-store.s3.amazonaws.com/0/2567/a414aefb-0306-a3be-63f4-6d1377683606.png)

Storageの設定で、「管理ディスクを使用」を「はい」にして、「OK」ボタンをクリックします。

![setting_storage.png](https://qiita-image-store.s3.amazonaws.com/0/2567/6fc187b2-e1cf-c6c6-7fdb-3c07f88d6c7f.png)

構成の検証が終了して結果が表示されるので、内容を確認して問題なければ「OK」ボタンをクリックします。


![check_comp.png](https://qiita-image-store.s3.amazonaws.com/0/2567/0a024214-c315-cdd9-97de-1a8510cc3d06.png)

ダッシュボード上に、デプロイ中を示すアイコンが表示されます。

![centos_deploy.png](https://qiita-image-store.s3.amazonaws.com/0/2567/cb4d16de-672d-dc04-16b7-7e09d1fb37fe.png)

仮想マシンの概要が表示されます。


![centos_description.png](https://qiita-image-store.s3.amazonaws.com/0/2567/311bca7e-4344-d2cb-614f-bb314daad9cf.png)

ネットワークインターフェイスから、セキュリティグループを選択して、http(80)アクセス許可を追加したり、「新規」ボタンから「DNSゾーン」を選択し、カスタムドメインの登録を行ったりします。
また、適宜、SSHポートを変更したり、Firewalldを有効にして、セキュリティを変更してください。

#4. Gitlabをインストールする

https://about.gitlab.com/downloads/

Gitlabのダウンロードページにアクセスして、プルダウンから「CentOS7」を選択します。


![gitlab_com.png](https://qiita-image-store.s3.amazonaws.com/0/2567/c224d9cb-cfcc-b7b2-8cd4-4386f0390965.png)

以下の手順が表示されるのでそのとおりに実行します。
> a. 必要な依存関係をインストールして構成する
> b. GitLabパッケージサーバーを追加し、パッケージをインストールします。
> c. GitLabの設定と起動
> d. ホスト名とログイン名を参照します。


![gitlab_installation.png](https://qiita-image-store.s3.amazonaws.com/0/2567/b997687e-19a8-340c-8357-659d3f39510e.png)

a.の手順は以下です。（公式のコマンドの1行目にgitも加えました）

```
sudo yum install curl policycoreutils openssh-server openssh-clients git
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
```

b.は、yumとrpmのどちらでインストールするかで選んで実行します。

```bash:yum
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
```
↑OR↓

```bash:rpm
curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-XXX.rpm/download
rpm -i gitlab-ce-XXX.rpm
```

c.はreconfigureを走らせることで、Gitlabの設定＆起動が行われます。

```
sudo gitlab-ctl reconfigure
```

d.でブラウザからアクセスします。

![gitlab_my.png](https://qiita-image-store.s3.amazonaws.com/0/2567/1db28e09-90ec-8f95-0646-cc05f3eb8c9f.png)

お疲れ様でした。



#宣伝
イレブンナイン株式会社では、エンジニア採用に力を入れています。本稿以外のノウハウも弊社は有しており、日々向上を是として取り組んでおります。自社サービスの開発もその一つです。

弊社のサイトです。
http://www.elevennines.co.jp

弊社のサイトにも採用に向けた応募フォームがありますが、採用強化週間としてIndeed.comに求人広告を載せています。

[Indeed.com - イレブンナイン株式会社の求人広告](http://jp.indeed.com/%E6%B1%82%E4%BA%BA?q=%E3%82%A4%E3%83%AC%E3%83%96%E3%83%B3%E3%83%8A%E3%82%A4%E3%83%B3%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE&l=&rq=1)

ご興味がありましたらぜひコンタクトをいただければ幸いです。