电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

使用Docker+Jenkins自動構建部署

瀏覽:41日期:2024-11-21 15:38:42

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

環境

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

運行jenkins

運行jenkins容器

在主機上創建目錄,并添加讀寫權限以便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

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

設置賬戶及SSH登陸

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

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

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

安裝Publish Over SSH插件

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

設置服務器SSH信息

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

# 從宿主機客戶進入容器,目前容器名myjenkins,也可通過docker ps 查看$ docker exec -it myjenkins /bin/bash# 進入容器后建立.ssh目錄,創建密鑰文件私鑰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首頁,系統管理 -> 系統設置 -> 下拉,找到Publish over SSH,填寫Key 和 SSH Server -> 保存

使用Docker+Jenkins自動構建部署

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

項目配置

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

使用Docker+Jenkins自動構建部署

構建環境:選擇Send files or execute commands over SSH after the build runs,選擇服務器,以及添加Exec command。保存。

使用Docker+Jenkins自動構建部署

# 根據你的項目需要編寫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 宿主機端口:容器端口,記得確認服務器端口權限是否開啟。

Dockerfile

# 根據你的項目需要編寫FROM nodeRUN mkdir -p /var/www/html/ RUN npm install -g yarnWORKDIR /var/www/htmlEXPOSE 3000CMD ['npm','start']

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

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

配置webhook

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

使用Docker+Jenkins自動構建部署

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

設置jenkins安全策略

首頁 -> 系統管理 -> Configure Global Security -> 授權策略,勾選Allow anonymous read access。

使用Docker+Jenkins自動構建部署

至此,完成自動化的構建和部署。當你推送代碼后就會實現自動構建,部署。

部署錯誤查找

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

鏡像構建:查看jenkins主頁-->查看項目-->最近一次的構建歷史-->查看Console Output,查看控制臺輸出。這里可以看到是哪一步出錯。一般Sending build context to Docker daemon之前是jenkins命令問題,之后是Dockerfile問題。 鏡像運行:如果Console顯示鏡像構建成功(也可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>顯示運行的日志輸出。

到此這篇關于使用Docker+Jenkins自動構建部署的文章就介紹到這了,更多相關Docker Jenkins自動構建部署內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Docker
相關文章:
主站蜘蛛池模板: 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 工业胀紧套_万向节联轴器_链条-规格齐全-型号选购-非标订做-厂家批发价格-上海乙谛精密机械有限公司 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 压滤机-洗沙泥浆处理-压泥机-山东创新华一环境工程有限公司 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 铝合金脚手架厂家-专注高空作业平台-深圳腾达安全科技 | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | IP检测-检测您的IP质量 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 刑事律师_深圳著名刑事辩护律师_王平聚【清华博士|刑法教授】 | 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 耐磨陶瓷,耐磨陶瓷管道_厂家-淄博拓创陶瓷科技 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 隧道窑炉,隧道窑炉厂家-山东艾瑶国际贸易 | 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 数控走心机-走心机价格-双主轴走心机-宝宇百科 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 杭州ROHS检测仪-XRF测试仪价格-百科 | 100国际学校招生 - 专业国际学校择校升学规划 | 杭州翻译公司_驾照翻译_专业人工翻译-杭州以琳翻译有限公司官网 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 | 体坛网_体坛+_体坛周报新闻客户端 |