用Jenkins做CI/CD学习笔记【一】
用户配置
需要在部署目标机器上配置jenkins用户,赋予sudo权限,使jenkins可以执行远程命令。
创建用户
# 创建新的jenkins用户
useradd jenkins
# 设置密码
passwd jenkins
重复输入两次密码,如图所示

用户权限配置
# 打开sudo的配置文件,允许jenkins使用sudo并且免密码运行指令
visudo
# 找到如下图所示root权限配置的位置加上这一行,保存退出即可
jenkins ALL=(ALL) NOPASSWD: ALL

上传目录权限配置
赋予jenkins用户上传目录所有权
chwon jenkins:jenkins upload/
如果想要使用多个不同用户,可以创建用户组并给用户组所有权
# 创建用户组ciuser
groupadd ciuser
# 将jenkisn用户加入ciuser组
usermod -a jenkins ciuser
# 赋予ciuser组所有权
chgrp ciuser upload/
# 赋予ciuser组写权限
chmod g+w upload/
部署目录设置
示例部署目录的结构如下图
../
|--deploy
|--api.tar
|--restart.sh
|--backup
|--autoBackup.sh
本地备份目录权限设置
# 在部署目录里将备份目录所有权赋给jenkins
chown jenkins:jenkins backup/
# 运行ll可以查看当前目录下的所有权
ll

备份脚本权限设置
# 在备份目录里将备份脚本所有权赋给jenkins
chown jenkins:jenkins autoBackup.sh
# 运行ll可以查看当前目录下的所有权
ll
# 给备份脚本执行权限
chmod +x autoBackup.sh

备份脚本内容参考
#! /bin/bash
api_name=blade-api
# 改名备份
mv ../$api_name".jar" "$(date +%m-%d-%H-%M-%S)-blade-api.jar"
# 备份文件数量大于5个时删除最早的文件
total_file_num=`ls -l | grep $api_name |wc -l`
if [ $total_file_num -gt 5 ];
then
ls -ltr | grep -v 'total' | grep $api_name | awk '{print $9}' | head -n 1 | xargs rm -rf
fi
# 将./wycs.jar文件移动到上个路径
mv ./$api_name".jar" ../$api_name".jar"
重启脚本权限设置
# 同样的,在部署目录里将重启脚本所有权赋给jenkins
chown jenkins:jenkins restart.sh
# 运行ll可以查看当前目录下的所有权
ll
# 给重启脚本执行权限
chmod +x restart.sh
猫肚肚是乌贼和人类心灵永远的家园。 —— 原创文章,转载请注明出处

浙公网安备 33010602011771号