jenkins发布普通项目、配置自动上线自动部署
1.以root用户运行jenkins是不专业的
刚开始用jenkins时用jenkins这个普通用户运行程序,始终无法连接到gitlab,报错如下:

先是把修改jenkins上的git路径,将git修改为/usr/local/git/bin/git
ll /usr/bin/git
/usr/bin/git -> /usr/local/git/bin/git

然后修改运行jenkins的用户:
vi /etc/sysconfig/jenkins
JENKINS_USER="root"
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
service jenkins restart
这样做,在只有内网IP的服务器上倒还行,但这可能会显示出你比较vegetable,改成root之后,不再报错:

2.配置凭据Credentials来打通gitlab
先恢复之前的状态,即:将运行用户改为jenkins,各目录属主、属组也改为jenkins,jenkins地址:http://10.0.0.25:8080
前提:
a.git版本不能过低
git --version
git version 2.7.4
b.从本机可以克隆gitlab仓库,即公钥已经拷贝到gitlab上了
ssh-keygen -t rsa -C "test@163.com"
cd /root/c++
git init
git config --global user.name "root"
git config --global user.email "test@163.com"
cat ~/.ssh/id_rsa.pub
# 这里是把root的公钥拷到了gitlab的管理员用户的SSH Keys中
git clone git@10.0.0.26:Linkdood-yw/prelogin.git
3.开始创建
a.目前要克隆的仓库地址是:git@10.0.0.26:Linkdood-yw/prelogin.git

b.选择ssh密钥和证书,然后选择直接输入,将私钥复制到下框中即可

c.选择刚才创建的证书,完成后,选择构建

d.选择构建,拉到最底部,选择使用shell脚本
脚本内容:cp -arf * /data/www
mkdir -p /data/www
chown -R jenkins.jenkins /data/www/

服务器/data/www目录,结果展示

小结:这部分的认证只是单方面的,即:在jenkins上创建了一个有gitlab用户私钥的凭据,每次拉取代码时,拿着这个凭据就可以获得gitlab的"信任".
4.gitlab更新代码以后,jenkins指定的project自动部署
a.前提:jenkins上已经安装了gitlab插件,这个插件允许GitLab触发Jenkins构建并在GitLab UI中显示它们的结果.
b.进入全局凭据页面

c.添加新凭证

d.从gitlab设置中将token复制过来,将复制的token粘贴到api token中,点击ok即可

e.系统全局配置中设置gitlab,并测试能否连通jenkins

f.打开项目,编辑项目的构建触发器

g.点击高级,点击Generate,生成项目token

h.在gitlab上配置连接jenkins,将jenkins的项目token与URL复制到gtilab中

i.保存之前进行测试,测试成功后保存即可

j.在gitlab上上传文件,进行测试即可
在日志中显示是 Started by GitLab push by Administrator,即表示自动集成成功


有些项目需要自动触发,有些不需要,需要时,再项目配置中设置--构建触发器即可.
参考博客-大牙啊:http://blog.51cto.com/13520772/2090056
参考博客-鹏岚:https://www.cnblogs.com/peng-lan/p/9605333.html
jenkins发布普通项目、配置自动上线自动部署的更多相关文章
- windows jenkins 发布 springboot项目脚本
windows jenkins 发布 springboot项目脚本 1.关闭现有程序 (按端口关闭) [与按应用关闭 二选一] @echo off for /f "tokens=1-5&q ...
- jenkins的构建项目配置
继http://www.cnblogs.com/yajing-zh/p/5109517.html搭建好jenkins系统配置之后,新建jenkins构建项目,用于自动化构建. 点击Jenkins界面左 ...
- apollo 项目配置中心开源框架部署
apollo 于我带来的好处 1. 项目之前的配置信息全部都在 resources 目录下,当然这里我使用的是 Spring Boot 搭建的项目.使用 apollo 后,配置信息全部转移到 apol ...
- Jenkins构建本地项目到服务器上自动部署的方法
博主原创,转载请注明. 最近在用Jenkins做项目的自动部署,由于项目需求,现在要在本地构建后再放到Tomcat里.以下是本地构建步骤: 名称填写好,下面的选项是可选的. 源码管理这里选择none. ...
- jenkins发布java项目
前言:这台jenkins服务器的环境是前几篇博客一步步做实验做过来,如果有想做这篇博客的实验的朋友,可以移驾去看一下前几篇博客,另外有看着博客做完的博友,可以在下方留言,证明我做的这些都是对的,有看着 ...
- Jenkins 发布.NetCore 项目
安装最新Jenkins及安装好相关git插件 启动jenkins服务,访问8080端口 这里就发布一个IdentityServer4程序 配置相关参数 设置Git源码管理配置 构建执行window 批 ...
- jenkins发布maven项目
(1)环境介绍 (2)配置ssh配置:系统管理--->系统设置 做这样的配置是方便打包之后war包或jar包复制到/tomcat/update目录下 (3)安装git 1丶不要使用1.8版本以下 ...
- 在IDEA上对SpringBoot项目配置Devtools实现热部署
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtool ...
- 基于jenkins自动打包并部署Tomcat环境
传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...
随机推荐
- GoF23种设计模式之结构型模式之装饰模式
一.概述 动态地给一个对象添加一些额外的职责.装饰模式比生成子类更为灵活. 二.适用性 1.在不影响其他对象的情况下,以动态.透明的方式给但个对象添加职责. 2.处理那些可以撤销的职责. 3.当不能采 ...
- 这五本Python急速入门必读的书,送给正在学习Python的你!
书籍是人类进步的阶梯,这句话从古至今都是适用的.为什么会这么说呢?书籍,它记录了人们实践的经验,这些经验有助于我们快速的学习,对于编程学习来说也不例外,今天就给大家带来了以下的书籍干货,希望能够帮助到 ...
- Python使用ORM控制MongoDB(MongoEngine)
简介: MongoEngine是一个对象文档映射器(ODM),相当于一个基于SQL的对象关系映射器(ORM) pymongo来操作MongoDB数据库,但是直接把对于数据库的操作代码都写在脚本中,这会 ...
- Altium Designer入门学习笔记3:关于各模块分开布线的理解( 1)
观看"杜洋AD的讲解视频",杜洋着重强调了"模块分开"布线的好处. ---------------------------------------------- ...
- 安装好的IIS,发布成功后打开网站出现错误
开发web项目时需要安装IIS,在安装好IIS的Windows7本上发布asp.net网站时,web程序已经映射到了本地IIS上,但运行如下错误提示“处理程序“PageHandlerFactory ...
- Django之include本质
一. URL name详解 from django.conf.urls import url from django.contrib import admin from calc import vie ...
- mac iterm 快捷键
标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:comma ...
- 一张图展示:用两个栈来实现一个队列,完成队列的Push和Pop操作
一 基本思路 将s1作为存储空间,以s2作为临时缓冲区. 入队时,将元素压入s1. 出队时,将s1的元素逐个“倒入”(弹出并压入)s2,将s2的顶元素弹出作为出队元素,之后再将s2剩下的元素逐个“倒 ...
- C++单例模式实例
定义:在某些情况下,我们设计中的对象只需要一个,比方说:线程池(threadpool).缓存(cache).对话框.处理偏好设置和注册表对象.日志对象.充当打印机.显卡等设备的驱动程序的对象等.事实上 ...
- 【Luogu】P3205合唱队(区间DP)
题目链接 通过这题我发现我已经不会DP了 区间DP,f[i][j]是从左面转移来的,d[i][j]是从右面转移来的 然后DP方程是 ]) f[i][j]+=f[i+][j]; ][j]; f[i][j ...