基於 Docker 的 DevOps 搭建
一直對 DevOps 感興趣,最近心血來潮,搭乘 Docker 搞一搞,Let‘s Go !!!
- 1.拉取 GitLab
docker pull gitlab/gitlab-ce
- 2.Run GitLab
docker run --detach --hostname gitlab.example.com --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
現在你就可以訪問你的 http://localhost 看到你的 GitLab 了
- 3.生成 Token
這是留著下邊用的
- 3.註冊 GitLab Runner
其中第2個的 token 是在 gitlab 裡 Setting——CI/CD——Runner 裡給的(如下圖),成功後可以在 gitlab 裡看到一個 runner
- 4.拉取 SonarQube
docker pull sonarqube
- 5.Run SonarQube
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube
現在你就可以訪問你的 http://localhost:9000 , 登入——使用者名稱:admin 密碼:admin
1.Token——gitlab 的 Setting——Access Tokens——Personal Access Tokens
2.選擇專案語言,填寫 unique project key
3.根據右邊彈出提示完成步驟
下載:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild
命令:
SonarQube.Scanner.MSBuild.exe begin /k:"testproject2" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="ae471877adee54f312188a0b5d92be11289c1436"
MsBuild.exe /t:Rebuild
SonarQube.Scanner.MSBuild.exe end /d:sonar.login="ae471877adee54f312188a0b5d92be11289c1436"
為了把 SonarQube 加到 gitlab 裡,需要在 SonarQube 裡新增 GitLab ,方法 Administration——Marketplace 新增上 GitLab
然後在配置裡找到 GitLab 標籤,右邊填寫上 GitLab url 和 GitLab User Token
- 6.配置 .gitlab-ci.yml
由於我還不熟悉配置這個地方,先略過一下
- 7.拉取 Jenkins
docker pull jenkins/jenkins
- 8.Run Jenkins
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
這時會出現很多日誌,但都不重要,最後出現的*******的位置的才重要,因為是 Unlock Jenkins 的金鑰,你說重要不重要,簡單截個圖
如果你忘了複製這個也沒關係,再用命令找回來就可以
docker logs jenkins(映象名稱)
訪問 http://localhost:8800/,輸入金鑰,安裝外掛,填寫 admin 密碼。
- 9.配置 Jenkins
1. 安裝 GitLab 外掛:系統管理——外掛管理——安裝 GitLab 外掛,重啟 Jenkins
2. 配置 GitLab:系統管理——系統設定——填寫 GitLab 配置
Add 裡邊選 GitLab API token,然後填上之前的 GitLab 的 Token
之後就是建立任務了,具體還是要根據你的專案需要來決定,這裡先略過一下
- 9.拉取 Portainer
docker pull portainer/portainer
- 10.Run Portainer
docker run -d --name portainer -p 9090:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
註冊一個使用者
點選 local 後進入到 dashboard 頁面,也可以管理公有云上的,此處以單機版為例
如圖所示,這裡可以很輕鬆的建立和管理 Container ,比上邊的命令好用很多,比如 Containers 選單裡的 Create Container 可以建立一個新的 Container。更多功能等待你的挖掘,此處略過,只是想告訴大家先學習基礎再用工具,基礎還是很重要的。
上邊略過了2處配置的地方,所以沒有跑一個完整的流程,但是我想配置的地方還是對的,配置之後再補齊吧