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发布普通项目、配置自动上线自动部署的更多相关文章

  1. windows jenkins 发布 springboot项目脚本

    windows  jenkins 发布 springboot项目脚本 1.关闭现有程序 (按端口关闭) [与按应用关闭 二选一] @echo off for /f "tokens=1-5&q ...

  2. jenkins的构建项目配置

    继http://www.cnblogs.com/yajing-zh/p/5109517.html搭建好jenkins系统配置之后,新建jenkins构建项目,用于自动化构建. 点击Jenkins界面左 ...

  3. apollo 项目配置中心开源框架部署

    apollo 于我带来的好处 1. 项目之前的配置信息全部都在 resources 目录下,当然这里我使用的是 Spring Boot 搭建的项目.使用 apollo 后,配置信息全部转移到 apol ...

  4. Jenkins构建本地项目到服务器上自动部署的方法

    博主原创,转载请注明. 最近在用Jenkins做项目的自动部署,由于项目需求,现在要在本地构建后再放到Tomcat里.以下是本地构建步骤: 名称填写好,下面的选项是可选的. 源码管理这里选择none. ...

  5. jenkins发布java项目

    前言:这台jenkins服务器的环境是前几篇博客一步步做实验做过来,如果有想做这篇博客的实验的朋友,可以移驾去看一下前几篇博客,另外有看着博客做完的博友,可以在下方留言,证明我做的这些都是对的,有看着 ...

  6. Jenkins 发布.NetCore 项目

    安装最新Jenkins及安装好相关git插件 启动jenkins服务,访问8080端口 这里就发布一个IdentityServer4程序 配置相关参数 设置Git源码管理配置 构建执行window 批 ...

  7. jenkins发布maven项目

    (1)环境介绍 (2)配置ssh配置:系统管理--->系统设置 做这样的配置是方便打包之后war包或jar包复制到/tomcat/update目录下 (3)安装git 1丶不要使用1.8版本以下 ...

  8. 在IDEA上对SpringBoot项目配置Devtools实现热部署

    spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtool ...

  9. 基于jenkins自动打包并部署Tomcat环境

    传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...

随机推荐

  1. 图解Disruptor框架(一):初识Ringbuffer

    图解Disruptor框架(一):初识Ringbuffer 概述 1. 什么是Disruptor?为什么是Disruptor? Disruptor是一个性能十分强悍的无锁高并发框架.在JUC并发包中, ...

  2. list 方法总结整理

    #!/usr/bin/env python #Python 3.7.0 列表常用方法 __author__ = "lrtao2010" #创建列表 # a = [] # b = [ ...

  3. SQL_5_子句

    接下来讲到的子句有: WHERE STARTING WITH ORDER BY GROUP BY HAVING WHERE: 使用频率仅次于SELECT和FROM STARTING WITH: 附加于 ...

  4. JAVA中变量的类型及命名规范

    1. 计算机是一种极度精确的机器;2. 要将信息存储在计算机当中,就必须指明信息存储的位置和所需的内存空间;3. 在JAVA编程语言当中,使用声明语句来完成上述的任务; 4. 变量的类型: 5. 变量 ...

  5. bzoj3172 luogu3966 [TJOI2013]单词

    蒟蒻也能写出来的AC代码!这题是AC自动机模板题.插入单词时用一个没出现过的字符隔开就行了. 一些细节请看注释 #include <iostream> #include <cstri ...

  6. 静态代码扫描工具使用教程 - SonarQube+SonarScanner

    预置条件: Jdk已安装 Mysql已安装 1. 下载 SonarQube和Sonar scanner. SonarQube: http://www.sonarqube.org/downloads/ ...

  7. URAL 1099 Work scheduling 一般图的最大匹配 带花树算法(模板)

    R - Work scheduling Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u ...

  8. Educational Codeforces Round 19 A+B+C+E!

    A. k-Factorization 题意:将n分解成k个大于1的数相乘的形式.如果无法分解输出-1. 思路:先打个素因子表,然后暴力判,注意最后跳出的条件. int len,a[N],b[N]; v ...

  9. 九度oj 题目1372:最大子向量和(连续子数组的最大和)

    题目描述: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天JOBDU测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但 ...

  10. Codeforces 899B Months and Years

    题目大意 给定 $n$($1\le n\le 24$)个正整数 $a_1,\dots, a_n$ 判断 $a_1$ 到 $a_n$ 是否可能为连续 $n$ 个月份的天数. 解法 由于 $n\le 24 ...