持续集成

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. 统计Redis中各种数据的大小

    如果 MySQL 数据库比较大的话,很容易就能查出是哪些表占用的空间: 不过如果 Redis 内存比较大的话, […]

  2. update_dctcp_alpha

    /* + * Update dctcp alpha based on the ecn bit in the received packet. + * This procedure is called ...

  3. 正则去除html标签属性保留指定标签

    /// <summary> /// 去除标签里面的属性保留IMG标签属性 /// </summary> /// <param name="strText&quo ...

  4. SQL-SERVER学习(二) 数据表的存储过程

    在C语言的程序设计中,会把一个重复使用的功能提取出来,做成一个的函数,这样就可以减少冗余代码,且更方便维护.调用.在面向对象的设计语言中,会把一个重复使用的功能提取出来,做成一个类,同样也是为了减少冗 ...

  5. QT的组合键

    https://www.cnblogs.com/Jace-Lee/p/5859293.html

  6. mysql登录:access denied for user 'root'@'localhost'(using password:YES)

    mysql登录: access denied for user 'root'@'localhost'(using password:YES) 解决: use mysql; select user,ho ...

  7. 财务软件(gnucash)

    apt-get install gnucash

  8. List的 并集、交集、差集操作

    package com.zheting.collection.list; import java.util.ArrayList; import java.util.Arrays; import jav ...

  9. bzoj3106 [cqoi2013]棋盘游戏

    Description 一个n*n(n>=2)棋盘上有黑白棋子各一枚.游戏者A和B轮流移动棋子,A先走. l         A的移动规则:只能移动白棋子.可以往上下左右四个方向之一移动一格. ...

  10. Django 玩转API

    现在,让我们进入Python的交互式shell,玩转这些Django提供给你的API. 使用如下命令来调用Python shell: $ python manage.py shell 我们使用上述命令 ...