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环境
传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...
随机推荐
- how to setting a i2c driver
How to instantiate I2C devices============================== Unlike PCI or USB devices, I2C devices ...
- #pragma与_Pragma(转载)
C90为预处理指令家族带来一位新成员:#pragma.一般情况下,大家很少见到它. #pragma的作用是为特定的编译器提供特定的编译指示,这些指示是具体针对某一种(或某一些)编译器的, ...
- ARM CORTEX-M3的时钟
转载自:http://www.cnblogs.com/javado/p/7704579.html 这几天写了一段测试代码,跑在LPC812上面. 很吃惊的发现CPU速度为1M 时钟 串口为12M时钟 ...
- 二叉排序树:HUD3999-The order of a Tree(二叉排序树字典序输出)
The order of a Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- The 2018 ACM-ICPC China JiangSu Provincial Programming Contest I. T-shirt
JSZKC is going to spend his vacation! His vacation has N days. Each day, he can choose a T-shirt to ...
- foreach遍历数组的表格
<?php /** * * @authors Your Name (you@example.org) * @date 2017-03-17 19:06:19 * @version $Id$ */ ...
- Java类编译、加载、和执行
https://www.cnblogs.com/fefjay/p/6305499.html
- Selenium WebDriver-通过断言页面是否存在某些关键字来确定页面按照预期加载
#encoding=utf-8 import unittest import time import chardet from selenium import webdriver class Visi ...
- 零基础学习 Python 之数字与运算
写在之前 大家好,这里是零基础学习 Python 系列,在这里我将从最基本的 Python 写起,然后再慢慢涉及到高阶以及具体应用方面.我是完全自学的 Python,所以很是明白自学对于一个人的考验, ...
- [错误处理]python大小写敏感,关键字不要写错
今天调试程序,发现了一个极为隐蔽的bug. True False关键字大小写写错了,然后半天没找出问题所在.