国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Docker+Jenkins+Nodejs+Git+Webhook自動部署

tuomao / 2324人閱讀

1.準備環境

一臺有網絡的Linux 服務器

Docker rpm安裝包,依賴包 libcgroup

jdk1.7 OR 1.8環境下載

Jenkins WAR包下載

NodeJs 源碼包下載

依賴下載地址:

https://pkgs.org/download/

https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/

2.安裝Docker
rpm -ivh libcgroup-0.40.rc1-23.el6.x86_64.rpm 
rpm -ivh docker-engine-1.7.1-1.el6.x86_64.rpm 
3.編寫Dockerfile
FROM ubuntu 

ADD jdk-8u171-linux-x64.tar.gz /usr/local/

RUN mv /usr/local/jdk1.8.0_171 /usr/local/java

ADD apache-tomcat-8.5.30.tar.gz /usr/local/

RUN mv /usr/local/apache-tomcat-8.5.30 /usr/local/tomcat

COPY jenkins.war /usr/local/tomcat/webapps/

ADD node-v8.11.1.tar.gz /root/

RUN apt-get update

RUN apt-get install -y python git ssh gcc g++ make

RUN /root/node-v8.11.1/configure && make -C /root/node-v8.11.1/ && make install -C /root/node-v8.11.1/ && rm -rf /root/node-v8.11.1/

ENV JAVA_HOME /usr/local/java

ENV JRE_HOME $JAVA_HOME/jre

ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV PATH $JAVA_HOME/bin:$PATH

EXPOSE 8080 3000 22

ENTRYPOINT ["java","-jar","/usr/local/tomcat/webapps/jenkins.war"]

(這里就不對Dockerfile和語法做解釋了,可以自行查閱資料)

本來是要用tomcat啟動的,但容器啟動后tomcat沒啟動,試了很多種方法都不行,最后只能改成java -jar

將Dockerfile與所有的軟件包放在一起然后執行命令

docker build -t jenkins ./
-t jenkins為鏡像的TAG,"./"為Dockerfile與軟件包的路徑,最后看到Successfully說明成功

(Docker基礎鏡像中有jenkins的鏡像,直接執行docker pull jenkins就可以了,我為什么要用WAR包安裝,是因為jenkins鏡像的登陸用戶為jenkins,登陸到容器后沒有權限很多事情都做不了)

4.運行鏡像

這時候運行docker images應該就會有一個叫jenkins的鏡像

執行命令

docker run -d -p 8080:8080 -p 50000:50000 -p 3000:3000 -p 50001:22 -v /var/jenkins_home:/root/.jenkins/ --name jenkins_node jenkins

(3000端口是自己設置的nodejs程序端口)

run 運行docker鏡像,-d 以后臺守護進程運行 ,-p 將容器端口開放(服務器端口:容器端口) , -v 掛載分區(服務器分區:容器分區) --name 指定容器名稱,最后的jenkins為鏡像包名

如果出現這種問題,重啟docker服務,在嘗試啟動容器,如問題未能解決就將防火墻端口開放,然后重啟docker服務

以Centos7為例

firewall-cmd --zone=public --add-port=50001/tcp --permanent
firewall-cmd --reload
systemctl restart docker
docker start jenkins_node

防火墻對docker的影響很大,在防火墻開啟的情況下會遇到很多奇怪的錯誤,而且這些錯誤基本上查不到決絕辦法,能查到的只有與你遇到的問題無關的,但這些問題基本上都是與連接有關的,比如連不上主機或找不到主機,解析不了網址之類的,如果在防火墻開啟的情況下遇到這類問題就先檢查防火墻,然后重啟docker服務和容器

5.jenkins配置 jenkins安裝

打開瀏覽器并輸入:"服務器地址:8080"訪問,出現如下頁面

將服務器"/var/jenkins_home/secrets/initialAdminPassword"文件的內容復制到輸入框,點擊繼續

點擊左邊的推薦安裝,等待安裝完成

設置Admin user

jenkins插件安裝配置

點擊 系統管理 --> 插件管理

選擇 “可選插件”

右上角搜索SSH,--> 選擇Publish Over SSH -->點擊 直接安裝

等待安裝完成

安裝成功后,點擊 系統管理 --> 插件管理

拉到最下面找到 "Publish over SSH" , 設置服務器的SSH信息


到服務器執行docker exec -it jenkins_node bash登陸到容器

重置用戶密碼passwd

安裝一個編輯器apt-get install -y vim

安裝完之后vim /etc/ssh/sshd_config編輯ssh配置文件

找到PermitRootLogin prohibit-password改為PermitRootLogin yes保存文件

重新啟動sshservice ssh restart

設置ssh開機自啟動update-rc.d ssh defaults

生成ssh秘鑰ssh-keygen -t rsa什么都不要輸直接回車直到完成就好

切換到ssh秘鑰目錄cd ~/.ssh/會有兩個文件"id_rsa"(秘鑰)和"id_rs a.pub"(公鑰)文件

將公鑰復制cp id_rsa.pub authorized_keys

復制id_rsa(秘鑰)文件中的內容

到jenkins ‘Publish over SSH’ 設置找到SSH Servers 點擊 "增加 --> 高級"

Name : ssh server名稱隨意設置

Hostname : 服務器ip地址

Username : 容器用戶名

選中 Use password authentication, or use a different key

Passphrase / Password : 容器用戶密碼

Key : 將剛剛復制的id_rsa(秘鑰)內容粘貼到這里

Port : 設置成鏡像運行命令中將22端口映射為50001的端口

點擊Test Configuration出現Success成功

如果出現下圖請檢查authorized_keys文件名稱或內容是否正確,和復制的私鑰內容是否正確,docker容器ssh是否運行。

如果出現下圖就到宿主機開放50001端口

保存

6.jenkins項目配置

首頁,點擊左上角”新建”

General: 只填 項目名稱即可

源碼管理: 填寫Git信息
Repository URL : 填寫項目git地址
Credentials : 如果有用戶名密碼,點擊add添加用戶信息,輸入用戶名密碼

如果出現圖中CAfile錯誤就到容器中執行git config --global http.sslverify false關閉https證書檢測,然后回到頁面將Repository URL中的地址剪切并重新粘貼

構建環境選中‘Send files or execute commands over SSH before the build starts’
Remote directory : 執行此命令的文件夾位置,一般為"./",意思是在項目目錄
Exec command :所執行的構建命令,例如"npm start"

保存,返回首頁,并構建剛剛創建的項目

7.自動部署

jenkins --> 首頁 --> 用戶

設置 --> 點擊 "show API Token"

復制API Token內容

返回首頁 --> (自己的項目) --> 配置 --> 構建觸發器 --> 選擇 "觸發遠程構建" -->粘貼"API Token"內容到"身份驗證令牌"

登陸git平臺,找到你的項目,選擇管理,選擇webhook

URL 中 node 請替換為你在jenkins上創建的項目名稱

token為復制的 API Token內容

此時你git push,會發現jenkins并沒有自動構建,是因為jenkins的安全策略導致的,還需要如下設置。
jenkins首頁,選擇 系統管理-->Configure Global Security(系統設置下面那個) 進行如下設置

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27298.html

相關文章

  • 使用Jenkins進行持續部署(PHP代碼)

    摘要:查看初始密碼,這里我們的容器是首次進入,需要先安裝插件,這里我們選擇手工的去選擇一些插件就行了,因為我們如果只是集成的話用不了多少插件插件選擇我就不截圖說明了,和里面得插件可以先取消。 在docker項目中單機構建jenkins使用gitlab的webhook對項目進行持續部署注意本次項目是php項目沒有build和test部分,至于test部分我們下一節進行,本次只是進行一個提交部署...

    fjcgreat 評論0 收藏0
  • Docker + Jenkins + webhooks 自動部署基礎實踐

    摘要:自動部署基礎實踐熟悉的基本操作實現本地后自動構建部署服務此實踐用于優化自己在實際工作中的工作流在本地開發到服務器登錄云服務器或者簡化流程后本地開發云服務器自動構建部署本實踐將結合技術來實現云服務器對各種環境的切換與部署。 Docker + Jenkins + webhooks 自動部署基礎實踐 熟悉 jenkins 的基本操作 ?? 實現本地 git push 后 jenkins 自...

    Charlie_Jade 評論0 收藏0
  • 手把手教你用JenkinsDocker的方式自動發布dotnet core程序

    摘要:部分首先我們要有個咯下載鏈接我們安裝官網教程安裝好安裝教程略嗯不是說好手把手么你妹的好好好我們還是來手把手教程好了首先安裝添加安裝源之后直接就好下面是的安裝命令其他系統自己玩一下就好下載啟動下載鏈接在這里面找最新的下載我當前 Jenkins部分 首先,我們要有個Jenkins咯,下載鏈接:https://jenkins.io/download/ 我們安裝官網教程安裝好jenkins,安...

    stackvoid 評論0 收藏0
  • 一套基礎自動部署搭建過程

    摘要:問題背景公司初創技術團隊,沒有任何基礎設施的情況下,需要搭建一系列管理以及自動化部署等工具所以引發了下面一系列的部署過程,歷時兩天,中間也是碰到各種問題,但最終把基本工具全部搭建成功,耶,下面帶大家一起看下此次搭建過程。 問題背景 公司初創技術團隊,沒有任何基礎設施的情況下,需要搭建一系列code管理以及自動化部署等工具....所以引發了下面一系列的部署過程,歷時兩天,中間也是碰到各種...

    mzlogin 評論0 收藏0
  • Spring Cloud【使用jenkins持續部署】Gogs+jenkins+Docker Swa

    摘要:而所謂的持續,就是說每完成一個完整的部分,就向下個環節交付,發現問題可以馬上調整。那么每完成一部分就測試,這是持續部署。這是一個免費的源代碼,可以處理任何類型的構建或持續集成。容器是完全使用沙箱機制,相互之間不會有任何接口。 導讀: 很久沒有更新文章了 最近公司在使用Spring Cloud構建的項目中經常會持續發布變更頻繁,一天中會出現發布多次的情況 在這種情況下對測試環境做了改造 ...

    王笑朝 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<