jenkins+gitlab+nexus持續整合與部署學習
待研究的知識點:
1、程式內容備份(jenkins專案配置、gitlab原始碼、nexus倉庫內容)
2、不清楚怎麼進行程式相關資料的遷移
3、不清楚如何清楚nexus整個倉庫內容
4、構建程式gradle,如何在程式build.gradle檔案中設定版本號,jenkins打包時使用此版本好。gradle-wrapper
4、這三個程式能否做叢集,是否能夠分散式儲存,解決單點故障(高階)
研究沒有解決問題:
jenkins中,本地打出的包中war包名稱為job專案名稱不是程式中定義的名稱,但是推送到nexus中的名稱是正確的
build.gradle 根據公司外網判定是否公司環境,進行maven倉庫的選擇
待進一步實踐:
把自定義的兩個host倉庫mymave-xxx加入到maven-public倉庫中,並進行最後一步最終問題測試。
一、環境
作業系統:全部為centos7.5.1804(共三臺)
伺服器與程式版本:
wkvm5(192.168.0.15)(2H4G):gitlab-11.1.2
wkvm6(192.168.0.16)(1H2G):jenkins-2.134-1.1
wkvm7(192.168.0.17)(1H2G):nexus-3.13
二、準備安裝包
jdk-8u162-linux-x64.rpm:jdk-1.8(不能低於此版本)
gradle-4.8.1-bin.zip:gradle-4.8程式構建程式
git-2.11.0.tar.gz:git版本管理
gitlab-11-1-stable-zh.tar.gz:gitlab漢化包
gitlab-ce-11.1.2-ce.0.el7.x86_64.rpm:gitlab社群版
jenkins-2.134-1.1.noarch.rpm:CI|CD整合軟體
nexus-3.13.0-01-unix.tar.gz:私有倉庫
三、各伺服器安裝對應軟體(細節見具體文件)
wkvm5安裝gitlab: 訪問地址:192.168.0.15/gitlab
wkvm6安裝jenkins、git、gradle、jdk: 訪問地址:192.168.0.16/jenkins
wkvm7安裝nexus: 訪問地址:192.168.0.17/nexus
四、三臺伺服器配合,資料準備
1、獲取gitlab Api Token(個人令牌)
2、jenkins伺服器生成金鑰對,並把公鑰內容拷貝到gitlab(設定->SSH金鑰)
3、在windows IDEA所在伺服器生成金鑰對,並把公鑰內容拷貝到gitlab(建立金鑰方式略)
五、準備java程式
在gitlab上建立一個程式倉庫,並在本地用idea拉取,在idea中新增程式檔案,並提交推送到gitlab上
六、準備jenkins專案
新建一個自由風格的專案,並配置專案 原始碼管理、構建(執行任務)、構建後
七、設定程式可外網訪問
通過阿里雲的一臺nginx,訪問本地的三臺伺服器程式(gitlab/jenkins/nexus)
相關文章
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- 持續整合、持續部署、持續交付、持續釋出
- 持續整合、持續交付、持續部署簡介
- 微服務容器部署與持續整合微服務
- 持續整合、持續交付和持續部署有什麼區別?0基礎學習linux技能Linux
- 淺談持續整合(CI)、持續交付(CD)、持續部署(CD)
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- 持續整合及部署利器:GoGo
- 通過Docker容器執行持續整合/持續部署Docker
- 談談持續整合,持續交付,持續部署之間的區別
- 使用流水線外掛實現持續整合、持續部署
- CI/CD 持續整合部署實踐
- vuepress與travis-cli持續整合自動化部署Vue
- 持續學習
- 以 egg.js 為例的持續整合(CI)、持續部署(CD)JS
- 持續整合工具之Jenkins安裝部署Jenkins
- 整合持續整合工具
- vue + webpack 前端專案持續釋出整合部署VueWeb前端
- iOS 持續整合iOS
- 前端專案基於GitLab-CI的持續整合/持續部署(CI/CD)前端Gitlab
- Docker+Gitlab+Jenkins+Maven程式碼持續整合與自動部署DockerGitlabJenkinsMaven
- iOS專案的持續整合與管理iOS
- Jenkins持續部署-Windows環境持續部署探究1JenkinsWindows
- Jenkins持續整合Jenkins
- SpringBoot+Docker+Git+Jenkins實現簡易的持續整合和持續部署Spring BootDockerGitJenkins
- 從持續整合到持續交付——DockerCloud概覽DockerCloud
- Jenkins與Docker的持續整合實踐JenkinsDocker
- jenkins+gitlab+docker持續整合部署maven專案JenkinsGitlabDockerMaven
- 知物由學 | SDK API自動化測試與持續整合API
- 持續整合配置之Nuget
- Taro 小程式持續整合
- 持續整合JenkinsBlueOcean初探Jenkins
- Jenkins持續整合配置Jenkins
- 學習 Laravel —— 前端篇(持續更新)Laravel前端
- 【持續更新...】ECharts學習筆記Echarts筆記
- 【持續更新...】Nginx 學習筆記Nginx筆記
- Java 學習筆記(持續更新)Java筆記
- AnimalController 學習 持續更新Controller