一直對 DevOps 感興趣,最近心血來潮,搭乘 Docker 搞一搞,Let‘s Go !!!
- 1.拉取 GitLab
docker pull gitlab/gitlab-ce
- 2.Run GitLab
--name gitlab
--restart always
--hostname 192.168.0.218
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.0.218/'; gitlab_rails['lfs_enabled'] = true;"
-p 443:443 -p 80:80 -p 22:22
-v /srv/gitlab/config:/etc/gitlab
-v /srv/gitlab/logs:/var/log/gitlab
-v /srv/gitlab/data:/var/opt/gitlab
gitlab/gitlab-ce:latest
這一步很慢,要好幾分鍾,可以查看 log ,看到 ok 再訪問,host 必須要設置,不然會是 docker 生成的一個數字,現在你就可以訪問 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處配置的地方,所以沒有跑一個完整的流程,但是我想配置的地方還是對的,配置之后再補齊吧