gitlab安装与使用参考链接:
centos7下Gitlab+Jenkins部署持续集成CI环境_11563159的技术博客_51CTO博客
一、重要linux命令
1、管理gitlab()(端口8080)
初始化Gitlab命令(保存配置或重新载入配置):gitlab-ctl reconfigure
Gitlab服务的启停管理
启动服务: gitlab-ctl start
停止服务: gitlab-ctl stop
重启服务: gitlab-ctl restart
查看状态: gitlab-ctl status
Gitlab的supervisor方式启动服务
服务启动命令: systemctl start gitlab-runsvdir.service
服务停止命令: systemctl stop gitlab-runsvdir.service
服务重启命令: systemctl restart gitlab-runsvdir.service
服务开机启动命令: systemctl enable gitlab-runsvdir.service
取消开机启动命令: systemctl disable gitlab-runsvdir.service
服务查看命令: systemctl list-unit-files
Gitlab服务日志查看:/usr/bin/gitlab-ctl tail #可以查看到gitlab所有插件的日志情况
2、git 常用命令
日常使用:
git config --global user.name "**" ------设置全局用户名
git config --global user.email "**" ------设置全局邮箱
git clone 项目地址 --------远程克隆项目到本地
git add ./ ----------把当前目录下的文件添加到本地缓存区
git commit -m 提交说明 -----把当前目录下的文件提交到本地仓库
git push -----------推送到远程仓库
git pull --------------拉取最新代码到本地仓库(先克隆之后才能git pull)
git log -------------查看操作日志
cim .gitignore --------创建 .gitignore文件 ,定义哪些文件不用上传到git上去
把文件回退到以前的版本
1、先查看文件之前的修改版本号 git log **/**/index.html
2、回滚某个文件到某个版本号:git reset 版本号 **/**/index.html
3、重新推送到远程仓库
分支管理:
git branch ---------查看当前所处的分支
git checkout -b 切换的分支名字 ----创建并切换分支
git checkout 分支名字 ----切换分支
git pull
常见的分支结构:
单分支模型:只有master分支
生产/开发模型:master分支与develop类型分支
特性/发布模型:master/develop/feature类型分支
开发/发布/分离模型:master/develop/feature/release类型分支
开发/发布/缺陷分离模型:master/develop/feature/release/hotfix
使用git可能遇到的问题:
1、使用新建分支第一次推送代码时,远程上没有对应的分支
这个错误就是 表示本地分支与远程分支之间没有连接起来,所以在push
的时候报错
解决办法一:
git push -u origin dev #意思是 建立远程分支 dev 和 关联本地dev和远程dev两步
解决办法二:将远程 dev
分支和本地 dev
分支相关联。之后再执行 git push
即可。一般新建的分支在push
的时候都需要执行这个命令和远端相关联。
git push --set-upstream origin dev
3、jenkins服务管理常用命令
1)启动/停止jenkins服务:service jenkins restart service jenkins stop
下面是找到war包指定端口进行启动
linux 下jenkins启动_小褚丫头的博客-CSDN博客_linux启动jenkins
2)Jenkins插件下载方式
方式一:在线下载
从国外服务器下载:直接点击链接等待下载,速度会很慢
使用nginx反向代理:把对国外jenkins插件下载地址的请求转向为清华大学开源软件镜像站去下载。操作步骤如下:
1、修改要下载插件的本地host文件(127.0.0.1 http://mirrors.tuna.tsinghua.edu.cn)----本地DNS的作用
2、添加nginx配置,如下:
location /download/plugins
{
proxy_set_header Host mirrors.tuna.tsinghua.edu.cn;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
rewrite /download/plugins(.*) /jenkins/plugins/$1 break;
#http://mirrors.tuna.tsinghua.edu.cn是清华大学开源镜像网站的地址
proxy_pass http://mirrors.tuna.tsinghua.edu.cn;
}
方式二:离线下载
3)Jenkins默认安装目录
/usr/lib/jenkins/:jenkins安装目录,WAR包会放在这里。
/etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都 可以在这里配置。
/var/lib/jenkins/:默认的JENKINS_HOME。
/var/log/jenkins/jenkins.log:Jenkins日志文件
二、持续集成(CI)
1、gitlab创建不同权限的用户,没有主分支合并权限的开发人员需要发起合并申请,由项目经理或者新项目总监处理合并
2、jenkins访问时要求输入用户密码,根据提示去服务器上查找口令
3、实现在jenkens服务器使用git拉取gitlab上代码不需要输入用户名和密码(只用于代码部署,不能用于代码提交,开发的代码提交还是通过http)
jenkins配置拉取gitlab代码 - 苍茫宇宙 - 博客园(ssh方式和用户密码方式还有token)
WINDOW -- 控制台生成SSH公钥和私钥_小白的码BUG之路的博客-CSDN博客_cmd生成公钥
jenkens的公钥放到gitlab
1)获取jenkins服务器上面的ssh公钥,下面是window系统的获取方式
1.打开你的git bash 窗口
2.进入.ssh目录: cd ~/.ssh
3.找到id_rsa.pub文件: ls
4.查看公钥: cat id_rsa.pub
或者 vim id_rsa.pub
5.绝对路径cat ~/.ssh/id_rsa.pub
2)打开gitlab的settings->SSH key 放入jenkins的公钥
4、实现在jenkins操作视图新建全局凭据,把jenkins的私钥放入
三、部署遇到问题
1、问题1:直接启动jenkins失败
查看jenkins查找java的路径,发现没有实际安装的jdk路径
cat /etc/init.d/jenkins
解决办法:添加实际的jdk安装路径
2、jenkins初始管理员密码忘记
1)找到配置文件
C:\Users\梁\AppData\Local\Jenkins\.jenkins\users\admin_3332732360964549300
2)修改config文件中的passwordHash(需要关闭Jenkins服务和拥有管理员权限)
找到passwordHash块改为:
<passwordHash>#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS</passwordHash>
3)重启jendins服务,使用admin 11111登录
4、在windows系统安装Jenkins,构建项目时不能选择运行shell命令,解决办法可以使用SSH plugin 插件远程执行shell语句
Jenkins中使用execute shell script on remote host using ssh_qq_33808440的博客-CSDN博客