背景
尝试在本地搭建一个自动化上线工具,首先尝试简单的上线部署功能,并没有实现自动化部署(需要手动构建)。
所需环境
因为jenkins是java编写的软件,所以在安装之前,需要将java相关环境安装配置完成。
-
JAVA
-
tomcat
下载安装Jenkins
- 下载
从jenkins官网下载对应版本的jenkins war包 - 安装
将对应的war包下载至对应tomcat的webapps目录之下,然后访问该目录,初次配置需要去安装目录(界面有对应地址)复制密码粘贴运行。然后根据自己需要进行插件安装(没有特殊需求,默认安装即可)
新建任务
-
选择模版
这里选择自由风格软件项目即可,有特殊需求可以自由选择。
-
配置git
这里主动构建的代码来源是git,所以选择git。将你想要构建的项目url写入,并且选择对应分支(这里选择master)。
- 构建
rsync -alvr --exclude=.git --exclude=/.env * work@ip:/home/work/
shell命令
-
rsync
rsync 即远程同步命令 是在linux中局部拷贝和同步文件/目录的一个命令。
rsync 有以下三个优点:- 可以有效将文件复制到远程并同步
- 可以支持复制 链接 设备 所有者 组 权限
- 比远程复制SCP更快,它复制更新的内容 scp复制所有
- 它消耗更少带块,它使用压缩与解压缩的方式在发送与接收数据
rsync 基础语法
rsync options source destination
与rsync命令一起使用的一些常见选项
-v:详细
-r:将数据递归(但不保存时间戳和权限,同时传输数据
-a:归档模式下,归档模式允许递归地拷贝文件,同时也保留了符号链接,文件权限,用户组所有权和时间戳
-z:压缩文件中的数据
-h:在人类可读的格式人类可读,输出数字 命令含义
rsync -alvr --exclude=.git --exclude=/.env * work@ip:/home/work/
将代码以 alvr 方式 排除.git目录 .env文件 外的所有文件 远程同步到ip为ip的机器的/home/work/目录下为什么不需要使用密码
在jenkins机器上添加了对于目标机器ip的免密码登陆,具体如何添加可访问。