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环境
传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...
随机推荐
- Pyhon从入门到致命
第一章 基础 1.python2和python3的区别 2.数据类型 2.1 int 整型 2.2 str 字符串不可变类型 2.3 bool 布尔类型 2.4 list 列表 2.5 tuple 元 ...
- Applied Nonparametric Statistics-lec9
Ref:https://onlinecourses.science.psu.edu/stat464/print/book/export/html/12 前面我们考虑的情况是:response是连续的, ...
- bootmem_init_node
static unsigned long __init bootmem_init_node(int node, struct meminfo *mi) in arch/arm/mm/init.c 1. ...
- sql获取指定表所有列名及注释
SELECT b.name as 字段名 ,Type_name(b.xusertype) as 字段类型, Isnull(c.VALUE,'') as 字段说明FROM sysobjects a jo ...
- Selenium WebDriver-通过断言页面是否存在某些关键字来确定页面按照预期加载
#encoding=utf-8 import unittest import time import chardet from selenium import webdriver class Visi ...
- xml编辑无提示?这么破!
在学习testng这个单元测试框架时,如果咱们碰到了编辑测试套件xml,不提示的情况(有提示方便咱们学习,并且testng的测试套件定义必须按照他的dtd文件约束来),咱们可以按照下面的步骤去解决这个 ...
- 安装python包
开始--cmd pip install pymongo 直到最后给出提示successfull install pymongo-**(版本号,最新的)
- [错误处理]python大小写敏感,关键字不要写错
今天调试程序,发现了一个极为隐蔽的bug. True False关键字大小写写错了,然后半天没找出问题所在.
- Difference between git remote add and git clone
http://stackoverflow.com/questions/4855561/difference-between-git-remote-add-and-git-clone git remot ...
- 【图文】 使用ant编译和发布java项目
开发JavaEE项目经常会碰到修改代码后,项目没有重新编译的问题.老大给指明了一个解决办法:用ant编译项目. ant是apache基金会下的一个项目,是基于Java语言的构建工具. ...