持续集成

1.安装jenkins

安装依赖

[root@git ~]# yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

rpm包下载:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/

wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.164.2-1.1.noarch.rpm

[root@bt ~]# rpm -ivh jenkins-2.164.2-1.1.noarch.rpm

[root@bt ~]# systemctl status jenkins

[root@bt ~]# systemctl start jenkins

[root@bt ~]# systemctl enable jenkins

[root@bt ~]# netstat -lunpt |grep 8080

[root@bt ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
05aaa47a42f64fd2813bcd3de090cb3e

在线安装插件:

plugins  用于拉取代码

在线安装

ssh

gitlab

离线安装插件:

下载好插件后解压到目录

cd /var/lib/jenkins/

tar -xvf plugins.tar.gz

对应的版本插件下载
http://updates.jenkins-ci.org/2.164/latest/

查看rpm程序目录:

rpm -ql jenkins

[root@onecloud ~]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins 
/usr/lib/jenkins/jenkins.war  #程序包
/usr/sbin/rcjenkins
/var/cache/jenkins  #war包解压程序存放,
/var/lib/jenkins  #升级的时候直接把war包放此目录,解压后自动到cache
/var/log/jenkins

配置cmdb权限

vim /etc/sysconfig/jenkins

JENKINS_USER="jenkins"

JENKINS_USER="root"

[root@onecloud ~]# systemctl restart jenkins

jenkins控制root权限
[root@onecloud ~]# ps -ef|grep jenkins
root      7994     1 42 09:52 ?        00:00:15 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
root      8085  7892  0 09:53 pts/0    00:00:00 grep --color=auto jenkins

备份:

tar scvf jenkins.tar.gz /var/lib/jenkins/

作业:写一个每天定时备份的脚本,保留15天备份

测试jenkins集成:

mkdir -p  test/oldboy

echo "index"  >index.html

echo 'a'  >a.txt

echo 'b'  >b.txt

[root@git oldboy]# ls
a.txt  b.txt  index.html
[root@git oldboy]# ll
total 12
-rw-r--r-- 1 root root 2 Apr 25 10:49 a.txt
-rw-r--r-- 1 root root 2 Apr 25 10:49 b.txt
-rw-r--r-- 1 root root 6 Apr 25 10:49 index.html
[root@git oldboy]# git add index.html
[root@git oldboy]# git commit -m "first"
[master (root-commit) 9411be5] first
 1 file changed, 1 insertion(+)
 create mode 100644 index.html
[root@git oldboy]# date
Thu Apr 25 10:50:45 CST 2019
[root@git oldboy]# git add a.txt
[root@git oldboy]# git commit -m "a"
[master 7c94d99] a
 1 file changed, 1 insertion(+)
 create mode 100644 a.txt
[root@git oldboy]# git add b.txt
[root@git oldboy]# git commit -m "b"
[master 231c3dd] b
 1 file changed, 1 insertion(+)
 create mode 100644 b.txt
[root@git oldboy]# git log
commit 231c3ddd2cfa0c1a1c3168dc6ae1a274477da18f
Author: Eric-xgc <741017474@qq.com>
Date:   Thu Apr 25 10:51:29 2019 +0800

b

commit 7c94d99cd99376c1dfe0d09dc31aea541e5c7d52
Author: Eric-xgc <741017474@qq.com>
Date:   Thu Apr 25 10:51:16 2019 +0800

a

commit 9411be51fdf533e949587642c2873d47b6683df1
Author: Eric-xgc <741017474@qq.com>
Date:   Thu Apr 25 10:50:30 2019 +0800

first

以上在本地已经有3次提交:

创建分支并切换到分支:

[root@git oldboy]# git checkout -b testing
Switched to a new branch 'testing'

[root@git oldboy]# git status
On branch testing
nothing to commit, working tree clean

echo 'test1' >test1.txt

echo 'test2' >test2.txt

切换到主分支:

[root@git oldboy]# git checkout master
Switched to branch 'master'

echo 'master1' >master1.txt

echo 'master2' >master2.txt

合并分支merge:

将testing分支merge到master分支保留原分支

[root@git oldboy]# git merge testing

保存直接退出:wq

git log

会加大多一个提交

[root@git oldboy]# git branch
* master
  testing

合并分支rebase:

将testing分支merge到master分支不保留原分支,细节丢失,去掉原分支

git rebase testing

升级jenkins:

停止服务:systemctl stop jenkins

在这个目录 : /usr/lib/jenkins

rpm -ql jenkins

下载更新war包

备份原来的包:mv 旧的  旧的.bak

上传新的包:

启动服务:systemctl start jenkins

10.安装使用jenkins及其插件的更多相关文章

  1. [ci]安装配置jenkins及其插件

    后面尝试ms模式部署多台jenkins 安装jenkins:(hudson是jenkins的商业版) cd /etc/yum.repos.d/ wget http://pkg.jenkins.io/r ...

  2. MyEclipse 10 中安装Android ADT 22插件的方法

    MyEclipse 10 中安装Android ADT 22插件的方法 下载ADT包:http://dl.google.com/android/ADT-22.0.0.zip 将ADT-22.0.0.z ...

  3. [Jenkins 新插件] 兼容阿里开发手册 (P3C) 的火线插件安装使用教程

    一.前言 火线(Fireline)的Jenkins官方插件已经上线,目前火线不仅能检查出安卓代码中的安全类问题和内存泄露问题,还兼容了阿里开源的Java开发规约(P3C项目),本文将以教程的形式帮助大 ...

  4. MyEclipse 10安装SVN插件subclipse

    1. 下载SVN插件subclipse 下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?expandFolder=2240& ...

  5. 持续集成①安装部署jenkins从git获取代码

    持续集成①安装部署jenkins从git获取代码 一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部 ...

  6. 安装部署Jenkins服务

    1.导入安装包 2.安装安装包 (1).安装JDK和maven 创建jdk存储目录 # mkdir /usr/jdk64/ 解压jdk到存储目录 # tar -zxvf jdk-8u191-linux ...

  7. 【CentOS】安装部署jenkins从git获取代码[转]

    持续集成①安装部署jenkins从git获取代码 一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部 ...

  8. [转] Jenkins Pipeline插件十大最佳实践

    [From] http://blog.didispace.com/jenkins-pipeline-top-10-action/ Jenkins Pipeline 插件对于 Jenkins 用户来说可 ...

  9. CentOS7.5安装配置Jenkins

    一. 硬件配置: 1 GB的RAM 50 GB的驱动器空间 二. 系统环境: [root@Jenkins ~]# cat /etc/redhat-release CentOS Linux releas ...

随机推荐

  1. SSIS 使用OLEDB/ADO NET Source 数据流source控件 连接Oracle失败

    在做数据提取的时候发现一个非常奇怪的问题. Oracle客户端是安装正确并且Toad可以正常运行的,但是在新建OLEDB/ADO NET Source 数据流source控件连接Oracle的时候一直 ...

  2. C++基础--class的大小

    在这里列出了空类,类有函数,值,没有函数的大小,注意Class也是默认字节对齐 #include <stdio.h> class x { }; class cx { public: cx( ...

  3. sharePoint查看与更改用户登录账号

    PS D:\deployScript> $user=(Get-SPUser -IDENTITY "i:0e.t|xmssts|zhangshan" -Web http://t ...

  4. SpringMVC学习(二)——基于xml配置的springMVC项目(maven+spring4)

    可运行的附件地址:http://files.cnblogs.com/files/douJiangYouTiao888/springWithXML.zip 项目说明: 作者环境:maven3+jdk1. ...

  5. SpringMVC学习(一)——概念、流程图、源码简析

    学习资料:开涛的<跟我学SpringMVC.pdf> 众所周知,springMVC是比较常用的web框架,通常整合spring使用.这里抛开spring,单纯的对springMVC做一下总 ...

  6. SQL点点滴滴_DELETE小计

    惨痛的教训: 某次在执行delete时,一时疏忽忘记写where条件了, 1.删除tb_mobile_cust_micromsg中的内容,前提是c_customer这个字段的值与#datamod表中c ...

  7. JAVA中的那些名词解释!

    1.JDO: (Java Data Object )是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API.作用:用于存取某种数据仓库中的对象 2.JPA: JPA是Jav ...

  8. 文本处理三剑客之 grep

    grep简介 grep(Global search REgular expression and Print out the line)是Linux上的文本处理三剑客之一,另外两个是sed和awk. ...

  9. python .loc vs .iloc区别

    1.loc意义:通过行标签索引行数据 例: loc[n]表示索引的是第n行(index 是整数) loc[‘d’]表示索引的是第’d’行(index 是字符) 2. .iloc   :通过行号获取行数 ...

  10. Hibernate缓存策略

    Hibernate的一级缓存又称为Session缓存,其适用范围是在当前的会话之中,其生命周期和Session相同,随着Session的销毁,一级缓存也会随之销毁.一级缓存是不能取消的,Hiberna ...