用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
posted @ 2021-02-20 12:04  猫呢家养乌贼Alkaid  阅读(61)  评论(0)    收藏  举报