欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Docker+Jenkins自動構(gòu)建部署

 更新時間:2020年03月26日 14:38:13   作者:mahy50  
這篇文章主要介紹了使用Docker+Jenkins自動構(gòu)建部署,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本文介紹了Docker+Jenkins自動構(gòu)建部署,分享給大家,具體如下:

環(huán)境

  • 阿里云ESC,宿主機服務器安裝Docker,在安全規(guī)則中確認8080端口開啟。
  • 客戶端mac

運行jenkins

運行jenkins容器

在主機上創(chuàng)建目錄,并添加讀寫權(quán)限以便jenkins應用運行時讀寫文件,如:

$ mkdir -p /var/jenkins_node
$ chmod 777 /var/jenkins_node

拉取jenkins鏡像docker pull jenkins,當前是2.60.3版。并運行:

docker run -d --name myjenkins -p 8080:8080 -p 50000:50000 -v <your_jenkins_path>:/var/jenkins_home jenkins

將之前的目錄掛載為數(shù)據(jù)卷。<your_jenkins>替換為你的目錄名,路徑需要是絕對路徑。
等待幾十秒,查看jenkins_node目錄,確認是否有jenkins應用生成的文件。
通過http://you_host:8080登陸查看。是否出現(xiàn)Getting Started界面。

設置賬戶及SSH登陸

在Getting Started界面會需要初始的密碼Unlock Jenkins。
密碼會在輸出終端,也可根據(jù)頁面提示到容器的jenkins_home中查找。
所以你可以

docker logs myjenkins
# 或者進入容器
docker exec -t myjenkins /bin/bash

有了密碼,輸入后安裝建議的插件。
完畢后,根據(jù)提示設置登陸賬戶。

安裝Publish Over SSH插件

首頁 -> 點擊系統(tǒng)管理 -> 管理插件 ->可選插件 -> 過濾:ssh -> 選擇Publish Over SSH插件,點擊直接安裝。

設置服務器SSH信息

首先在容器中生成rsa密鑰:

# 從宿主機客戶進入容器,目前容器名myjenkins,也可通過docker ps 查看
$ docker exec -it myjenkins /bin/bash
# 進入容器后建立.ssh目錄,創(chuàng)建密鑰文件私鑰id_rsa,公鑰id_rsa.pub
~ mkdir ~/.ssh && cd ~/.ssh
~ ssh-keygen -t rsa
# 一直回車即可

添加公鑰到宿主機
將id_rsa.pub中字符串添加到authorized_keys文件末尾,重啟ssh服務sudo service ssh restart
注意宿主機是否開啟ssh服務。
可以在容器終端中使用下面的命令添加到宿主機中。也可手動復制id_rsa.pub到宿主機的.ssh/authorized_keys文件中。

ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<host>

需要修改目標服務器的ssh配置文件,配置文件為/etc/ssh/sshd_config。設置ssh-server允許使用私鑰和公鑰對的方式登錄,然后使用sudo /etc/init.d/ssh restart命令重啟ssh服務。

添加私鑰
jenkins首頁,系統(tǒng)管理 -> 系統(tǒng)設置 -> 下拉,找到Publish over SSH,填寫Key 和 SSH Server -> 保存


高級選項能夠配置ssh服務器端口和超時。Test可測試,顯示success配置成功。

項目配置

首先,新建一個任務。填寫項目名稱。
選擇源碼管理為:Git,填寫項目庫的URL。私有項目需要添加Git賬號。


構(gòu)建環(huán)境:選擇Send files or execute commands over SSH after the build runs,選擇服務器,以及添加Exec command。保存。


# 根據(jù)你的項目需要編寫
sudo docker stop <node> || true \
  && sudo docker rm <node> || true \
  && cd /var/jenkins_node/workspace/<node> \
  && sudo docker build --rm --no-cache=true -t <node> - < Dockerfile \
  && sudo docker run -d --name <node> -p 3000:3000 -v 
  /var/jenkins_node/workspace/node:/home/project <node>

端口設置的3000,也可以另行設置-p 宿主機端口:容器端口,記得確認服務器端口權(quán)限是否開啟。

Dockerfile

# 根據(jù)你的項目需要編寫
FROM node
RUN mkdir -p /var/www/html/ 
RUN npm install -g yarn
WORKDIR /var/www/html
EXPOSE 3000
CMD ["npm","start"]

ps: npm install -g cnpm --registry=https://registry.npm.taobao.org

返回首頁,選擇項目,立即構(gòu)建。成功后可以通過http://you_host:3000端口查看項目。

配置webhook

配置webhook,實現(xiàn)自動部署
獲取API tonken:首頁 -> 用戶 -> 選擇當前的用戶 -> 設置 -> 在API Tonken 項中點擊Show API Token...


添加令牌:返回首頁 -> 項目 -> 配置 -> 構(gòu)建觸發(fā)器 -> 選擇 "觸發(fā)遠程構(gòu)建" ->粘貼"API Token"內(nèi)容到"身份驗證令牌"
登陸代碼托管平臺,找到你的項目,選擇管理,選擇webhook,添加URL,格式http://<you_host>:<port>/job/<object_name>/build?token=<API Token>

設置jenkins安全策略

首頁 -> 系統(tǒng)管理 -> Configure Global Security ->
授權(quán)策略,勾選Allow anonymous read access。


至此,完成自動化的構(gòu)建和部署。當你推送代碼后就會實現(xiàn)自動構(gòu)建,部署。

部署錯誤查找

代碼推送和webhook的問題不大,照著例子寫不會出錯。
容器出錯的是鏡像構(gòu)建和鏡像運行,以及容器間通信的問題。

  • 鏡像構(gòu)建:查看jenkins主頁-->查看項目-->最近一次的構(gòu)建歷史-->查看Console Output,查看控制臺輸出。這里可以看到是哪一步出錯。一般Sending build context to Docker daemon之前是jenkins命令問題,之后是Dockerfile問題。
  • 鏡像運行:如果Console顯示鏡像構(gòu)建成功(也可docker images查看),但運行失敗,或容器運行后退出,如果代碼本地運行良好,一般是CMD啟動命令錯誤,前臺運行一下容器,docker run -it --name <container_name> <image_name> /bin/bash,進入容器后手動運行CMD,看看日志輸出。另,docker exec -t <container_name> /bin/bash可以進入運行中的容器,能方便的查看代碼;docker logs <container_name>顯示運行的日志輸出。

到此這篇關(guān)于使用Docker+Jenkins自動構(gòu)建部署的文章就介紹到這了,更多相關(guān)Docker Jenkins自動構(gòu)建部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker之自定義網(wǎng)絡實現(xiàn)

    Docker之自定義網(wǎng)絡實現(xiàn)

    大家好,本篇文章主要講的是Docker之自定義網(wǎng)絡實現(xiàn),感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Docker?Desktop?啟用?Kubernetes?失敗后處理方案

    Docker?Desktop?啟用?Kubernetes?失敗后處理方案

    ?在setting -> Kubernetes 中,選中 Enable Kubernetes 后,長時間顯示 Starting ...? ,在Images中顯示幾個自動下載的鏡像后,顯示 Start Kubernetes failed,這篇文章主要介紹了Docker?Desktop啟用Kubernetes失敗后處理方法,需要的朋友可以參考下
    2023-08-08
  • Docker 簡單部署 ElasticSearch的實現(xiàn)方法

    Docker 簡單部署 ElasticSearch的實現(xiàn)方法

    這篇文章主要介紹了Docker 簡單部署 ElasticSearch的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的詳細介紹

    Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的詳細介紹

    這篇文章主要介紹了Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的相關(guān)資料,文中介紹的很詳細,相信對大家具有一定的參考價值,有需要的朋友們下面來一起看看吧。
    2017-02-02
  • Docker基本命令使用詳解(推薦)

    Docker基本命令使用詳解(推薦)

    因為工作中需要將服務容器化,所以最近開始學習Docker相關(guān)的知識,對于Docker入門常用的命令總結(jié)下分享到腳本之家平臺,需要的的朋友參考下
    2017-03-03
  • Docker下redis的主從配置教程詳解

    Docker下redis的主從配置教程詳解

    這篇文章主要介紹了Docker下redis的主從配置,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Docker Elasticsearch集群部署的操作過程

    Docker Elasticsearch集群部署的操作過程

    這篇文章主要介紹了Docker Elasticsearch集群部署的操作過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • Docker部署Django+Mysql+Redis+Gunicorn+Nginx的實現(xiàn)

    Docker部署Django+Mysql+Redis+Gunicorn+Nginx的實現(xiàn)

    這篇文章主要介紹了Docker 部署 Django+Mysql+Redis+Gunicorn+Nginx,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Docker?部署分布式搜索引擎?Elastic?Search的詳細過程

    Docker?部署分布式搜索引擎?Elastic?Search的詳細過程

    Elasticsearch是一款非常強大的開源搜索引擎,具備非常多強大功能,可以幫助我們從海量數(shù)據(jù)中快速找到需要的內(nèi)容,這篇文章主要介紹了Docker?部署分布式搜索引擎?Elastic?Search,需要的朋友可以參考下
    2023-02-02
  • 如何在一臺服務器上使用docker運行kafka集群

    如何在一臺服務器上使用docker運行kafka集群

    文章詳細介紹了如何在一臺服務器上使用Docker運行Kafka集群,包括拉取鏡像、創(chuàng)建網(wǎng)絡、啟動Kafka容器、檢查運行狀態(tài)、編寫啟動和關(guān)閉腳本、進入容器檢查、故障排查以及啟動生產(chǎn)者和消費者等步驟,感興趣的朋友跟隨小編一起看看吧
    2025-01-01

最新評論