TS-351(QNAP)でGitLab-runnerを爆速で作る方法の話

GitLabで開発していると必ず欲しくなるCI/CD サーバ立てるのもめんどくさいし…
情報調べても… dockerばっかりの情報だよぉ〜ローカルで入れてくれればいいんだよ
なんて思っている人に朗報です!
TS-351(QNAP)を使えば可能です!
私はおうちでの開発環境で、NASの8000ポートにアクセスすればWebサービスの最新にアクセス出来るようにしております(次回)
TS-351(QNAP)ってNASですが、Dockerが動いています… だから、厳密にはDockerを使わない方法とは言い切れませんが、サーバが動いている環境はローカルと同じ状態に近いです

要するに!!!
GitLab-runnerが走っているサーバでGitで取ってきた内容をコピーします…
これなら現在動いているサーバでもGitLab-runnerインストールすれば、簡単にCDが可能という事になります

我が家では、開発用の TS-351(QNAP)と運用用のTS-351(QNAP)がありますので、それぞれ releaseブランチとmaster ブランチの最新情報を書き出しています。
masterで内容を反映して、確認後、releaseブランチにマージ… 確認… \(^O^)/

んで!
今回はその中でも、TS-351(QNAP)でのまずはrunnerの構築する方法をまとめます

第一章 それでも私は走り続ける

この章では、シンプルにQNAPのcontainer stationの使い方です。
知っている人は読み飛ばしてください。
ubuntu:latestを作りますと言う話です


まずは、container stationを立ち上げます(インストールされていない場合はインストールしてください)
と、シンプルにコンポーネントを作成します。パッケージはubuntu:latestを指定します

しばらくお待ちください…. って感じで作成までに時間がかかります
[作成]ボタンではなく[インストール]ボタンの場合はそのままです…

ポートフォワーディングを8000ポートで80ポートとします
※ 必須ではありません

[作成]を押下すると作成作業が開始されます

しばらく待ち、概要に移動すると作成されています。(試験ではubuntu-1ってミスったw)

[端末 >_ ]を押下して、コマンドを実行します….
/bin/bash/

シンプルですw

動きました!ぱちぱちぱちぱち!

第二章 決して望む物は望まれていない

第一章で作成したコンポーネントでの作業になります。

簡単に言うと、スクリプトを実行するんです!(ドーン!)

11/20深夜から11/21早朝まで作っては消して、作っては消して… をしすぎて、バカになりましたw

gitlabで管理していたのに、githubに上げましたw

https://github.com/wataru775/gitlab-runner

この中のfor_QNAPを使うとOKなんですが、簡単にメモります…

export DEBIAN_FRONTEND=noninteractive
export TZ=Asia/Tokyo
apt-get -y -qq update
apt-get -y -qq upgrade
apt-get install -y -qq git tzdata

どーーーん!
なぜか最後の 「apt-get install -y -qq git tzdata」まで行かないことがあるので注意なっ!

git clone https://github.com/wataru775/gitlab-runner.git
 /bin/bash ./gitlab-runner/for_QNAP/laravel_make.sh

GitHubに公開しているリポジトリをクローンして、実行する

これで、gitlab-runnerはインストールされます

第三章 われわれの要求は必ずしも求められない

最後は、GitLabさんにrunnerを登録します

gitlab-runner register

実行すると、登録レジスタを起動します

Runtime platform                                    arch=amd64 os=linux pid=19389 revision=ece86343 version=13.5.0                                                                                                                                                                   
Running in system-mode.                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                     
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):                                                                                                                                                                                                               
http://192.168.1.203:9080/                                                                                                                                                                                                                                                           
Please enter the gitlab-ci token for this runner:                                                                                                                                                                                                                                    
buYy_yKNBnvsX_eUQqU7                                                                                                                                                                                                                                                                 
Please enter the gitlab-ci description for this runner:                                                                                                                                                                                                                              
[c527cb5c7fef]: laravel                                                                                                                                                                                                                                                              
Please enter the gitlab-ci tags for this runner (comma separated):                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                     
Registering runner... succeeded                     runner=buYy_yKN                                                                                                                                                                                                                  
Please enter the executor: docker, docker-ssh, parallels, shell, virtualbox, docker+machine, docker-ssh+machine, custom, ssh, kubernetes:                                                                                                                                            
shell                                                                                                                                                                                                                                                                                
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

設定している内容は…

Gitlabのページで指定プロジェクトの[ 設定 ] > [CI / CD] Runner

にあります!!

この設定を入れればOKだよ!

動くと…

CI/CDのジョブ一覧に成功が表示されます!

第四章 

今回は、シンプルに、口が臭い! ではなく。QNAPの使い方と、簡単なGitLab-runnerの登録方法でした。

もし、接続がうまくいかない場合は… gitlab-runnerを再起動したりしてみてください。

次回は、近々にlaravelプロジェクトってCDします。

そこからスタートしましたが、それがキモですねw

あ、GitHubなので、一度cloneしたらpullで更新ですよ

以上!