jenkins部署代码到不同服务器
创始人
2025-01-20 12:03:22
0

流程开始

1. 使用docker安装jenkins 就自行百度吧

2.安装插件

Dashboard->系统管理->插件管理

  1. Localization: Chinese (Simplified)
  2. Publish Over SSH
  3. SSH server
    4. List Git Branches Parameter PlugIn
  4. Git Parameter Plug-In 推荐使用这个
  5. DingTalk

3.配置参数

Dashboard->系统管理->System

  1. SSH remote hosts
    在这里插入图片描述
  2. Publish over SSH配置
    2.1. 配置之前需要生成ssh密钥 当然是存放代码的服务器生成 如有不对可自行百度生成
    ssh-keygen -t rsa -C "your_email@youremail.com" 
    生成路径
    在这里插入图片描述
    一共会生成两个文件: id_rsa。这个是私钥文件。 id_rsa.pub。这个是公钥文件,需要配置到GitHub上面。 
    2.2 执行命令:生成下图
    cp id_rsa.pub authorized_keys 
    在这里插入图片描述
    当然还需要去git配置ssh公钥
    2.3 将id_rsa的内容放入下图key框中 -----BEGIN RSA PRIVATE KEY----- … 这一串很长的内容
    当然配置这一串就是免登录 无需每次登录git
    下图Passphrase是输入的服务器密码【下图中是维护的】
    在这里插入图片描述

4.开始创建构建项目及配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解释上图  1.branchList 是展示出所有的git分支后期可查询分支直接在branch输入去构建 2.env 是为了展示到底是要构建到测试还是生产的服务器 3.branch是指定要构建的分支是属于那个 这种是为了更好的去构建如: 	需要在测试test环境构建fix_01分支进行测试 	需要在开发dev环境构建master进行模拟生产 	需要在pro环境进行maser生产 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后,点击最底下“高级”按钮
勾选Parameterized publishing
Parameter name:与最开始Choice Parameter参数名:env保持一致
在这里插入图片描述
参数详解
在Transfers分组下配置项

	Source files:源文件地址,地址的目录是相对于jenkins workspace的目录,如果只需要执行命令不需要传输文件的时候,此处可以为空 	 #如果需要吧所有文件传输过去则使用 **/** 因Exec command在使用git pull所以为空传输 	 # \*表示该目录下所有文件,不包括文件夹 ;\**表示该目录下所有文件,包括文件夹 ​	Remove prefix:去除的文件地址。在Source files输入框中填入的地址,会默认在服务器下创建相同的文件夹,所以需要将我们不需要的文件夹在这里剔除掉 ​	Remote directory:远程服务器接收文件的地址 ​	Exec command:文件传输任务执行完毕后,在远程服务器上执行的命令 ​	Exclude files:不需要发布的文件 如webconfig 格式 **/appsettings.json 

5.运行如下及目录文件

在这里插入图片描述
在这里插入图片描述

6.配置nginx 去运行代码配置

在这里插入图片描述
在这里插入图片描述
也可以换着构建到不同的目录下对应的域名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完整的配置流程

在这里插入图片描述

安装git插件

以下方式方便列出所有分支共选择构建

1.Git Parameter Plug-In  插件展示分支 最多使用 

在这里插入图片描述

2.List Git Branches Parameter PlugIn 插件展示分支 

在这里插入图片描述

问题记录

进入不了jenkins

报错

OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: “C:/Program Files/Git/usr/bin/sh”: stat C:/Program Files/Git/usr/bin/sh: no such file or directory: unknown

#此处注意的是使用 sh docker exec -u 0 -it 5ce0075 sh 
在jenkins内部使用apt时

报错

apt update && apt install -y iproute2 Reading package lists... Done E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied) #是因为权限不足 按照以下重新执行进入 此处注意的是使用 0 表示root docker exec -u 0 -it 5ce0075 sh 
Name: 系统管理SSH Server配置的接受文件的服务器名称 Source files: 传输文件的相对地址,假如项目名称为Test_Jenkins, 路径填写XX/X,那么完整路径就是/workspace/Test_Jenkins/XX/X,假如要传输文件夹下的所有文件,用/*,所有文件和文件夹用/** Remove prefix: 移除传输文件路径,文件传输时会附带填写的路径,假如路径不存在会新建,假如Source files填写A/B/C/D,Remove prefix填写A/B,那么传输到对应服务器的文件路径问C/D Remote directory: 接收文件路径,默认为SSH Server中配置的Remote Directory路径,假如系统管理里SSH server配置的路径为/home/jenkins,这里填写的路径为/test,那么文件最终传输的路径为 /home/jenkins + /test + /(Source files - Remove prefix) Exec command: 文件传输完成后需要执行的命令。如果只是做文件传输,那就不用填写,如果是需要jat启动,那就填写jar的启动命令 

构建时的布局
在这里插入图片描述

相关内容

热门资讯

针对!微信新众游辅助(辅助)果... 针对!微信新众游辅助(辅助)果然是真的有辅助教程(有挂细节)1、游戏颠覆性的策略玩法,独创攻略技巧玩...
黑科技辅助挂!微信牵手跑的快辅... 黑科技辅助挂!微信牵手跑的快辅助(辅助)竟然真的是有辅助器(今日头条)小薇(辅助器软件下载)致您一封...
据公告内容!乐酷大厅怎么安装(... 据公告内容!乐酷大厅怎么安装(辅助)一直是有辅助软件(真是有挂)1、完成乐酷大厅怎么安装有辅助插件,...
今年以来!新超圣辅助靠谱不(辅... 今年以来!新超圣辅助靠谱不(辅助)好像是真的有辅助教程(有挂神器)1、全新机制【新超圣辅助靠谱不ai...
据权威媒体报道!老友赣州麻将破... 据权威媒体报道!老友赣州麻将破解版(辅助)果然是有辅助神器(有挂猫腻)1、玩家可以在老友赣州麻将破解...
此事引发网友热议!闲聚鱼虾蟹软... 此事引发网友热议!闲聚鱼虾蟹软件脚本(辅助)真是真的是有辅助挂(有挂技术)1、用户打开应用后不用登录...
事发当天!边锋干瞪眼辅助器(辅... 事发当天!边锋干瞪眼辅助器(辅助)真是存在有辅助方法(有挂实锤)1、边锋干瞪眼辅助器免费辅助多个强度...
为了进一步!欢乐联盟免费辅助(... 为了进一步!欢乐联盟免费辅助(辅助)一直是有辅助软件(有挂助手)运欢乐联盟免费辅助辅助工具,进入游戏...
复盘辅助挂!和和营口辅助(辅助... 复盘辅助挂!和和营口辅助(辅助)果然是真的有辅助器(今日头条)和和营口辅助是不是有人用挂微扑克wpk...
技巧辅助挂!极速摇一摇鱼虾蟹辅... 技巧辅助挂!极速摇一摇鱼虾蟹辅助(辅助)一贯确实有辅助软件(有挂神器)极速摇一摇鱼虾蟹辅助透视方法中...