#gitlab配置
git config --global user.name "用户名" #使用用户名
git config --global user.email "邮箱" #邮箱地址
git init #初始化当前目录为仓库目录,目录里所有文件都会被git管理
git status #查看当前仓库状态
git rm 文件名 #删除在暂存区的文件
git mv 文件名 文件名1 #修改文件名,直接提交在暂存区
git clone http://主机IP/项目地址 #在web端创建项目,查看项目地址,复制到本地
git add 文件名 #添加修改记录(提交到暂存区)
git commit -m "标签名" #提交修改打标签
git tag v1(版本号) #添加版本号标签
git push origin master #推送数据到服务器
git push origin v1 #推送版本到服务器
#客户端生成ssh密钥免密方式上传
rm -rf /root/.ssh/known_hosts #删除之前的ssh远程记录
ssh-keygen #生成ssh密钥文件
cat ~/.ssh/id_rsa.pub #查看密钥文件
#复制密钥,在web中通过个人信息-设置-ssh密钥添加
#查看项目基于ssh连接方式的链接,保存地址
git remote remove origin
git remote add origin ssh连接方式地址
#之后就可以免密上传文件
#jenkins配置
#登陆后点击新建任务,填写任务名称,选择构建一个自由风格的软件项目,点击确认
#选择参数化构建过程为Git参数,名称描述自定义,参数类型选择分支或标签,默认值为origin/master
#定义Respository URL(git仓库路径)
#点击保存退出
#选择项目进入控制面板
#在项目菜单下选择Build with Parameters
#此时Jenkins会自动连接GitLab服务器获取仓库数据,我们可以选择一个版本,点击开始构建,控制台输出可查看构建日志
#默认Jenkins会加拉取的代码数据保存到/var/lib/Jenkins/workspace/目录
#构建分发服务器
#安装vsftpd
yum -y install vsftpd
vim /etc/vsftpd/vsftpd.conf #修改vsftpd配置文件
anonymous_enable=YES #12行 #允许匿名访问ftp
mkdir -p /var/ftp/deploy/packages
#创建目录,未来jenkins将拉取的代码数据拷贝到该目录,共享给应用服务器
#-p是创建多级子目录
chown -R :jenkins /var/ftp/deploy/
#修改权限将目录所属组修改为jenkins
chmod -R 775 /var/ftp/deploy/
#修改权限让jenkins组对该目录有读写权限
systemctl enable vsftpd --now
#修改jenkins项目配置,添加构建步骤,选择执行shell
#编写构建脚本
pkg_dir=/var/ftp/deploy/packages #定义变量pkg_dir,变量值为ftp共享目录
cp -r 项目目录 $pkg_dir #将jenkins拉取到/var/lib/Jenkins/workspace/目录的数据拷贝到ftp共享目录
rm -rf $pkg_dir/项目目录/.git #上一步拷贝过来的数据目录下包含一个隐藏.git目录,删除该git仓库目录
cd $pkg_dir/ #cd到ftp共享目录下
tar czf 项目名.tar.gz 项目目录 #将ftp共享目录下的代码数据打包
rm -rf 项目目录 #将ftp共享目录下的代码数据目录删除(上一步已经打包数据)
#应用服务器安装所需软件
yum -y install httpd wget tar
#编写自动化上线脚本
vim down_file.sh
#!/bin/bash
#定义变量,指定FTP共享路径
ftp_url=ftp://ftp地址
#定义变量,指定网页根路径
web_dir=/var/www/html
#定义函数,行数名为down_file,该函数的作用是从FTP服务器下载代码数据到网站根目录
down_file(){
#wget为下载工具(如果没有则需要安装),-q选项为静默模式下载,不显示下载过程
#-O选项可以指定将文件下载到哪里
#下载代码数据的打包文件,根据前面获取的版本号,下载对应的版本数据打包文件
wget -q $ftp_url/packages/压缩包 -O $web_dir/压缩包名
#将数据解压到网站根目录下/var/www/html/
tar -xf $web_dir/压缩包 -C $web_dir
}
down_file
chmod +x down_file.sh #添加可执行权限
./down_file.sh #执行脚本