Jnekins+Gitlab代码提交全程配置

实验环境:

测试机:192.168.2.156

Jenkins:192.168.2.157

Gitlab:192.168.2.158

温馨提示:如果不知道,Jenkins和Gitlab安装过程~可参考本人的一下博客文章

https://www.cnblogs.com/bixiaoyu/p/9560992.html

https://www.cnblogs.com/bixiaoyu/p/9231861.html

一:配置Gitlab

既然要做到集成部署,肯定 需要一个代码仓库供,开发提交的代码上传到Gitlab仓库中,由Jenkins获取编译;

创建代码仓库,随后创建一个分支和测试文件

我们为了方便开发git上传或下载源代码,可配置SSH免密登陆

在Gitlab本地上生成ssh公私秘钥,将公钥放到Gitlab中即可

这样我们在Gitlab上面克隆源码仓库即可免密
[[email protected] ~]# ssh-keygen -t rsaq #生成公私秘钥要对~
[[email protected] ~]# cat .ssh/id_rsa.pub 查看公钥将公钥复制到gitlab上~
[[email protected] ~]# git clone [email protected]192.168.2.158:root/Nginx-web.git
正克隆到 ‘Nginx-web‘...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
接收对象中: 100% (3/3), done.

[[email protected] ~]# cd Nginx-web/
[[email protected] Nginx-web]# ls
Nginx-test.html
[[email protected] Nginx-web]# echo "This is testNginx-web" > 1.txt     #自定义并写入配置文件,作为测试代码

[[email protected] Nginx-web]# git add .                #提交新文件以及被修改的文件,但不包括被删除的文件

[[email protected] Nginx-web]# git commit -m "add 1.txt"     #将暂存区的最新改动提交到本地版本库,-m参数指定后面的message消息

[master 1674e56] add 1.txt
1 file changed, 1 insertion(+)
create mode 100644 1.txt
[[email protected] Nginx-web]# git push     #将本地的文件推送到本地代码版本库

。。。。。省略~

Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 290 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:root/Nginx-web.git
c917d8b..1674e56 master -> master

回过头查看Gitlab上面,可以看到我们上传的文件1.txt~

【配置Jenkins】

#打开jenkins页面
#添加插件:系统管理 - 管理插件
#需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab

#添加完插件重启jenkins,开始添加要部署代码的主机,注意一定是要能够ssh登陆的用户。
#添加主机:系统管理 - 系统设置 找到Publish over SSH

按照上面的所需插件,一次搜索并逐一安装,如下图所示~

以下是在系统设置里面配置,需要指代码部署的主机IP,同时需要将Jenkins的私钥上填写到对应框框里,填写完毕之后,Test Configuration测试一下,即可保存~

添加完需要部署的主机之后,我们即可创建一个任务了,接下来配置是在本局任务中进行的,上述配置都是针对于全局~

 下图是Jenkins的公私秘钥,将Jenkins的私钥写入,因为Jenkins需要去Gitlab上获取代码,因此,需要将Jenkins上的公钥上传到Gitlab上面

源码管理

#构建触发器

#构建,也就是配置需要部署的代码测试机的代码测试路径~

【配置Gitlab】

最后别忘了,要将Jenkins的公钥写入Gitlab的框框中~如下是保存之后的状态 ,不想在多说了~

最后呢,我们直接构建即可~SUCCESS,ok~打完收工,最后在测试机上瞅瞅~

 小坑踩一踩环节:

如果说在遇到在Gitlab上写入key和url字后进行测试报错,可按照以下方法解决~

点击test  push events时会报错:Url is blocked: Requests to the local network are not allowed:我们需要如图巴拉巴拉即可~

原文地址:https://www.cnblogs.com/bixiaoyu/p/9566317.html

时间: 2024-08-19 11:21:48

Jnekins+Gitlab代码提交全程配置的相关文章

再见Jenkins,从Gitlab代码提交到k8s服务持续交付只需七毛三(走过路过不要错过)

Gitlab runner 快速搭建CICD pipeline 背景 日常开发中,相信大家已经做了很多的自动化运维环境,用的最多的想必就是利用Jenkins实现代码提交到自动化测试再到自动化打包,部署全流水线Jenkins在devops担任了很重要的角色,但是另一方面相信目前大家的代码版本管理大多都是交给git来管理,在企业私有部署的大背景下,Gitlab由于丰富的插件和细粒度更高的权限控制被大家所采用.如果只是把Gitlab作为代码版本管理,那就大大浪费他的附加价值,在Gitlab中自带CIC

小玩意儿之Gitlab 代码提交日志同步到禅道项目管理系统

以前都是使用禅道官方推荐的服务器本地扫描的方式,但其实不太方便,需要跟着项目的变化,不断的在配置文件维护项目相应仓库的配置. 然后现在Web Hooks越来越普遍的情况下,想尝试一种新的方式.看了禅道的Git模块Control中的代码后,发现了一个apiSync方法,于是有了思路: 覆盖其 git/apiSync 动作:并通过使用独立入口的方式回避其原有的鉴权机制,而通过 Gitlab 的 Hooks Secret Token来鉴权. 使用方法 将代码解压到禅道项目目录 生成一段随机字符串作为S

使用Git与GitHub协同开发并搭建私有GitLab代码托管服务器

目录 [TOC] Git的发展史 Linus在1991年创建了开源的Linux,从此全世界的工程师参与了Linux的开发,期初Linus是通过手动diff的方式进行代码审核和合并的,后来BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统.安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气.开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMo

spring mvc 图片上传,图片压缩、跨域解决、 按天生成目录 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成目录 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE be

spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE b

一步一步教你使用Github、通过Xcode将代码提交到github

通过Xcode将代码提交到github上, 把仓库放在github上 ======================================================= >1.注册一个github账号 >2.配置SSH Keys, 只要配置了SSH Keys就可以和github无缝衔接 >点击昵称来到个人主页 > 点击主页中的设置(setting) > 点击SSH Keys >点击 generating SSH keys >1.检查本地的ssh key

Git常用命令和场景(一)--线上代码更新 和 项目代码提交

转:http://blog.csdn.net/lxlzhn/article/details/9206197 1.  项目查看或执行,用于测试环境和线上环境: git初始化: git init git拉取代码: git pull [email protected]:project.git 2. 项目开发,用于开发环境: (在 1 的基础上进行开发之后) 首先,提交代码涉及到一个配置,配置的内容是标记改代码是由哪个用户提交的,需要name和email两项,通过如下命令设置: git config -

Gitlab部署及基础配置

Gitlab安装 基础包安装 yum install -y curl policycoreutils-python openssh-server systemctl enable sshd systemctl start sshd firewall-cmd --permanent --add-service=http systemctl reload firewalld 安装 postfix yum install postfix systemctl enable postfix systemc

使用代码提交表单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ