Docker、Jenkins、Rancher自动化部署项目
技術前提
在阿里云服務器centOS7.3版本虛擬機安裝開發環境,也可以自己本機裝虛擬機嘗試。也有一定技術基
礎前提,需要了解linux基礎命令、Docker的運用,如:編寫Dockerfile文件、Docker常用命令、卷掛載等。
一、安裝
yum安裝默認路徑是/usr/local,如果需要指定路徑如下:
# 默認路徑安裝 yum install 安裝對象 # 安裝到指定路徑 yum -c /etc/yum.conf --installroot=/opt/all_venv/ --releasever=/ install 安裝對象 # 該命令簡單解釋如下: # -c /etc/yum.conf 表示指定yum配置文件地址 # --installroot=/usr/local 表示指定自定義的安裝目錄二、文件傳輸
1.rz命令
個人感覺速度不是很快,喜歡使用Xftp7
[root@iz2zea7yijqy9s16u1gkz3z environment]# pwd # 安裝上傳文件命令 [root@iz2zea7yijqy9s16u1gkz3z environment]# yum install lrzsz # 上傳 [root@iz2zea7yijqy9s16u1gkz3z environment]# rz2.xtf7
第一次使用,會讓你安裝,根據提示安裝即可使用。
git安裝
# 安裝git [root@iz2zea7yijqy9s16u1gkz3z ~]# yum install git # 查看git版本 能看到說明安裝成功 [root@iz2zea7yijqy9s16u1gkz3z ~]# git --version git version 1.8.3.1tomcat安裝
先到官網https://tomcat.apache.org/download-90.cgi下載壓縮包找到對應版本
解壓
解壓tar.gz壓縮文件命令: tar zxvf 解壓文件路徑 -C 解壓目的路徑
[root@localhost environment]# tar zxvf apache-tomcat-9.0.39.tar.gzjdk安裝
官網https://www.oracle.com/java/technologies/downloads/#java8下載安裝包
解壓
解壓tar.gz壓縮文件命令: tar zxvf 解壓文件路徑 -C 解壓目的路徑
[root@iz2zea7yijqy9s16u1gkz3z environment]# ls jdk-8u271-linux-x64.tar.gz [root@iz2zea7yijqy9s16u1gkz3z environment]# pwd /home/lxs/environment [root@iz2zea7yijqy9s16u1gkz3z environment]# tar zxvf /home/lxs/environment/jdk- 8u271-linux-x64.tar.gz -C /home/lxs/environment/ [root@iz2zea7yijqy9s16u1gkz3z environment]# ls jdk1.8.0_271 jdk-8u271-linux-x64.tar.gzmaven安裝
官網https://maven.apache.org/download.cgi下載對應安裝包
解壓
解壓tar.gz壓縮文件命令: tar zxvf 解壓文件路徑 -C 解壓目的路徑
[root@iz2zea7yijqy9s16u1gkz3z environment]# ls apache-maven-3.6.3-bin.tar.gz jdk1.8.0_271 jdk-8u271-linux-x64.tar.gz [root@iz2zea7yijqy9s16u1gkz3z environment]# pwd /home/lxs/environment [root@iz2zea7yijqy9s16u1gkz3z environment]# tar zxvf /home/lxs/environment/apache-maven-3.6.3-bin.tar.gz -C /home/lxs/environment/ [root@iz2zea7yijqy9s16u1gkz3z environment]# ls apache-maven-3.6.3 apache-maven-3.6.3-bin.tar.gz jdk1.8.0_271 jdk-8u271-linux- x64.tar.gznode安裝
node主要是負責前端代碼編譯的時候使用。
下載node壓縮包
[root@iz2ze environment]# wget https://nodejs.org/dist/v14.15.0/node-v14.15.0- linux-x64.tar.xz解壓
[root@asd environment]# tar xf node-v14.15.0-linux-x64.tar.xz [root@iz2zea7yijqy9s16u1gkz3z environment]# cd node-v14.15.0-linux-x64 [root@iz2zea7yijqy9s16u1gkz3z node-v14.15.0-linux-x64]# ls bin CHANGELOG.md include lib LICENSE README.md share [root@iz2zea7yijqy9s16u1gkz3z node-v14.15.0-linux-x64]# pwd /home/lxs/environment/node-v14.15.0-linux-x64三、配置系統環境變量
配置環境變量
[root@iz2zea7yijqy9s16u1gkz3z environment]# vi /etc/profile #JAVA export JAVA_HOME=/home/lxs/environment/jdk1.8.0_271 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH #MAVEN export MAVEN_HOME=/home/lxs/environment/apache-maven-3.6.3 export PATH=$MAVEN_HOME/bin:$PATH #NODE export NODE_HOME=/home/lxs/environment/node-v14.15.0-linux-x64 export PATH=$NODE_HOME/bin:$PATH刷新環境變量
[root@iz2zea7yijqy9s16u1gkz3z environment]# source /etc/profile測試安裝
# java安裝成功 [root@iz2zea7yijqy9s16u1gkz3z lxs]# java -version java version "1.8.0_271" Java(TM) SE Runtime Environment (build 1.8.0_271-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode) # mvn安裝成功 [root@iz2zea7yijqy9s16u1gkz3z lxs]# mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /home/lxs/environment/apache-maven-3.6.3 Java version: 1.8.0_271, vendor: Oracle Corporation, runtime: /home/lxs/environment/jdk1.8.0_271/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-514.26.2.el7.x86_64", arch: "amd64", family: "unix" # node安裝成功 [root@iz2zea7yijqy9s16u1gkz3z environment]# node -v v14.15.0四、Docker安裝
環境要求
Docker需要系統內核3.10+
安裝
參考文檔https://docs.docker.com/engine/install/centos/
#1、卸載舊版本 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine #2、需要的安裝包 yum install -y yum-utils #3、設置鏡像倉庫 默認國外地址 下載很慢 yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo #推薦設置阿里云鏡像地址 yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 更新yum軟件包索引 鏡像加速 在自己的阿里云可以找到自己專屬的鏡像加速器地址 yum makecache fast # 4、安裝Docker相關引擎 docker-ce 社區版 ee企業版 yum install docker-ce docker-ce-cli containerd.io #5、啟動Docker systemctl start docker #6、查看Docker版本是否啟動 docker version #7、Docker run hello-world docker run hello-world #8、查看下載的鏡像 [root@iz2zea7yijqy9s16u1gkz3z ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 9 months ago 13.3kB #9、卸載docker # 卸載依賴 yum remove docker-ce docker-ce-cli containerd.io # 刪除資源 rm -rf /var/lib/docker鏡像加速
在自己的阿里云可以找到自己專屬的鏡像加速器地址
五、jenkins安裝
基于Docker安裝Jenkins
查找并安裝鏡像
# 查找鏡像 [root@iz2zea7yijqy9s16u1gkz3z environment]# docker search jenkins NAME DESCRIPTION STARS jenkins Official Jenkins Docker image 4951 jenkins/jenkins The leading open source automation server2269 jenkinsci/blueocean https://jenkins.io/projects/blueocean 574 jenkinsci/jenkins Jenkins Continuous Integration and Delivery … 383 # 拉取鏡像 [root@iz2zea7yijqy9s16u1gkz3z environment]# docker pull jenkinsci/blueocean # 查看本地鏡像 [root@iz2zea7yijqy9s16u1gkz3z environment]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE jenkinsci/blueocean latest 88b3ea93c260 17 hours ago 755MB運行jenkins
# 啟動Jenkins # 基于Docker運行的Jenkins 想配置自己主機的開發環境 需要啟動時候掛載對應的開發環境 [root@iz2zea7yijqy9s16u1gkz3z environment]# docker run \ -u root \ -d \ --restart=always \ -p 18080:8080 \ -p 50000:50000 \ -v /var/jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean # 查看運行容器 [root@iz2zea7yijqy9s16u1gkz3z environment]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f36d109d183a jenkinsci/blueocean "/sbin/tini -- /usr/…" 26 seconds ago Up 25 seconds 0.0.0.0:50000->50000/tcp, 0.0.0.0:18080->8080/tcp fervent_galois訪問jenkins
提示輸入密碼
本機運行jenkins
安裝
在官網https://www.jenkins.io/download/下載指定版本的war包
# 將war包放到安裝的tomcat下的webapps目錄下 [root@localhost environment]# mv jenkins.war /winkeytech/lxs/environment/apache- tomcat-9.0.39/webapps啟動tomcat
啟動tomcat訪問Jenkins項目的時候,war會自動解壓。
通常通過以下幾種方式啟動關閉tomcat服務: 切換到tomcat主目錄下的bin目錄(cd /winkeytech/lxs/environment/apache-tomcat- 9.0.39/bin) 1,啟動tomcat服務 方式一:直接啟動 ./startup.sh 方式二:作為服務啟動 nohup ./startup.sh & 方式三:控制臺動態輸出方式啟動 ./catalina.sh run 動態地顯示tomcat后臺的控制臺輸出信 息,Ctrl+C后退出并關閉服務 解釋: 通過方式一、方式三啟動的tomcat有個弊端,當客戶端連接斷開的時候,tomcat服務也會立即停止,通過方 式二可以作為linux服務一直運行; 通過方式一、方式二方式啟動的tomcat,其日志會寫到相應的日志文件中,而不能動態地查看tomcat控制臺 的輸出信息與錯誤情況; 通過方式三可以以控制臺模式啟動tomcat服務,直接看到程序運行時后臺的控制臺輸出信息,不必每次都要很 麻煩的打開catalina.out日志文件進行查看,這樣便于跟蹤查閱后臺輸出信息。tomcat控制臺信息包括 log4j和System.out.println()等輸出的信息。 2,關閉tomcat服務 ./shutdown.sh[root@localhost bin]# pwd /winkeytech/lxs/environment/apache-tomcat-9.0.39/bin # 到tomcat的bin工作目錄下 啟動 [root@localhost bin]# ./startup.sh訪問jenkins
啟動tomcat后,可以訪問tomcat下對應的項目,如:http://******:8080/jenkins
# 在本機查看初始化密碼 [root@localhost bin]# cat /root/.jenkins/secrets/initialAdminPassword
注冊第一個管理員賬號
實例配置
訪問成功
安裝插件
根據需求安裝對應的插件
- Docker API Plugin
- Docker plugin
- Docker Slaves Plugin
- Maven Integration
- bouncycastle API Plugin
- NodeJS
- Active Choices
- …
如果直接安裝失敗,可以點擊插件手動下載安裝包,在高級欄目手動上傳。
配置全局工具
配置全局環境變量,可以直接基于Jenkins安裝或配置主機對應的路徑
# 查看主機JAVA_HOME路徑 [root@localhost local]# echo $JAVA_HOME /winkeytech/lxs/environment/jdk1.8.0_271 # 查看主機MAVEN_HOME路徑 [root@localhost local]# echo $MAVEN_HOME /winkeytech/lxs/environment/apache-maven-3.6.3 # 查看主機NODE_HOME路徑 [root@localhost local]# echo $NODE_HOME /winkeytech/lxs/environment/node-v14.15.0-linux-x64配置jdk
配置maven、node
配置docker云
Jenkins在調用Docker服務構建鏡像時,打通Jenkins與Docker的通訊
服務器配置Docker Host URL有如下兩種方法:
注意:如果這里配置的是 2375 端口的話,在Jenkins的 Docker Host URI 就要使用 2375 的端口
示例:Docker Host URI:tcp://<docker服務所在主機的ip>:2375
1.在運行Docker的主機配置系統級別的服務```java
2.配置Docker進程級別的服務
vi /etc/docker/daemon.json { "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"] } # 加載 docker 配置 systemctl daemon-reload # 重啟 docker 服務 systemctl restart docker新建任務
新建任務這個比較靈活沒有固定怎樣,根據需求來構建,以下簡單做個BladeX基礎服務自由風格的構建
示例:
設置參數如:
Choice Parameter:可選擇的參數類似下拉框
Active Choices Reactive Parameter:靈活選擇響應參數類型
String Parameter:構建時候手動輸入的參數
…
添加代碼倉庫以及拉取的分支
增加構建步驟,增加docker云配置推送鏡像,Maven構建項目操作
開始構建
如上新建任務成功以后,可以構建項目看下是否成功
查看控制臺輸出,發現構建成功
查看配置的鏡像倉庫有鏡像推送
rancher安裝
基于CentOS7.3+、內核3.10+版本、Docker運行的Rancher,如果用其他系統可以查找資源學習下。
# docker search rancher 查找Rancher鏡像 [root@localhost webapps]# docker search rancher NAME DESCRIPTION STARS rancher/agent 90 rancher/os Rancher OS installation container 53 cdrx/rancher-gitlab-deploy Painless deployment of projects built with G… 24 rancher/k8s Rancher Kubernetes Images 23 # 可以在DockerHub查找對應的資源,此處運行并且拉取rancher/server:v1.6.17 [root@localhost webapps]# docker run -d --restart=unless-stopped -p 18001:8080 rancher/server:v1.6.17 # 查看運行的容器,用主機IP:對外暴露端口訪問,如:192.168.3.17:18001 [root@localhost webapps]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 74d62357cb23 rancher/server:v1.6.17 "/usr/bin/entry /usr…" 11 seconds ago Up 8 seconds 3306/tcp, 0.0.0.0:18001->8080/tcp sleepy_noyce訪問rancher
添加主機
點擊添加主機,通過rancher 添加服務器主機,之后將容器通過rancher將容器部署在主機中,并且通過
rancher設定容器的調度規則,實現負載均衡。
添加鏡像倉庫
此鏡像倉庫是Jenkins構造時推送鏡像的倉庫地址
添加應用
mysql
mysql在開發中是必不可少的,在其他服務運行前,先創建mysql。
總結
提示:這里對文章進行總結:
例如:以上就是今天要講的內容,本文僅僅簡單介紹了pandas的使用,而pandas提供了大量能使我們快速便捷地處理數據的函數和方法。
總結
以上是生活随笔為你收集整理的Docker、Jenkins、Rancher自动化部署项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle instant cline
- 下一篇: 【zabbix】企业微信告警