Gitlab+Jenkins部署持续集成CI环境

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博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值