一 基础环境准备 [root@node6 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node6 ~]# yum -y install epel-release [root@node6 ~]# yum update [root@node6 ~]# uname -r -.el7.x86_64 二 安装docker 2.1 使用脚本安装 [root@node6 ~]# curl -fsSL https://get.doc…
使用最新的官方镜像jenkins/jenkins 第一次使用的docker部署jenkins的时候,出现了两个问题: 1.因为用户权限问题挂载/home/jenkins/data到/var/jenkins_home挂载不了.后面通过修改data目录的所属用户可以解决,即在容器下查询用户id(1000),然后把data改成同样的用户id 2.即便挂载docker命名和docker.sock,也修改了相应的权限,仍存在libltdl7没有权限读取.当然好像也不影响使用,只是在容器里面执行docker…
前面实验了使用docker搭建一个jenkins,下面实验使用docker作为jenkins的slave节点 1. 环境准备 一个运行Docker的主机或者群集 Jenkins应该能访问互联网,方便安装插件. Jenkins服务器能够和GitHub通信. Jenkinss对Java所需要的Git,和Maven配置应该配置好. 一个Jenkins master. 2. 在Docker主机上开启远端的访问API 此处针对Docker 18.03 /etc/docker/daemon.json会被do…
抓取Jenkins镜像 docker pull jenkins/jenkins 创建映射本地路径: 运行Jenkins实例 docker for windows: docker run -it -p 8090:8080 -p 50000:50000 --name jenkins001 --privileged=true -v D:/DockerFileMapper/Jenkins:/var/jenkins_home jenkins Ubuntu: sudo docker run -it -p 8…
建议使用的Docker映像是jenkinsci/blueocean image(来自 the Docker Hub repository). 该镜像包含当前的长期支持 (LTS) 的Jenkins版本 (可以投入使用) ,捆绑了所有Blue Ocean插件和功能. 部署方法: docker run \ -u root \ --name jenkins \ -d \ -p : \ -p : \ -v jenkins-data:/var/jenkins_home \ -v /var/run/dock…
本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中, 至于docker如何安装,请参考https://www.cnblogs.com/xingyunqiu/p/11584066.html Jenkins官网文档:https://jenkins.io/zh/doc/ Jenkins插件下载地址:http://ftp.icm.edu.pl/packages/jenkins/plugins/ 使用命令从镜像仓库拉取指定文件,我这里用的是jenkins:lts这个版本:…
1. 拉镜像 和其他的部署的镜像的方式一样,通常是直接使用docker search jenkins 然后直接docker pull jenkins 此时,在安装插件的时候发现插件都安装失败,提示jenkins版本太低 正确的安装方式是pull的时候直接带上版本号,使用docker pull jenkins/jenkins:lts 2. 部署jenkins 默认使用的端口号是8080和50000 默认数据目录为:/var/jenkins_home,需要映射出来持久化 如果需要把jenkins单独…
安装docker环境 yum install epel-release -y && yum install docker -y 如果是高手需要docker-compose的话就再装个docker-compose吧 创建jenkins所需的挂载目录并设置为ID为1000 在/etc/hosts文件中写入: 192.168.50.50 docker-hub.xxx.com 并向/etc/docker/certs.d中导入harbor的证书(如果你们在公司内部有docker hub的话最好这样,…
首先获取jenkins的镜像: docker pull jenkins 设置jenkins_home映射: sudo mkidr -p /jenkins_home /jenkins_home 启动容器: ➜ ~ docker run -it -d --restart always --name jenkins -p : -p : -v /jenkins_home:/var/jenkins_home jenkins 在浏览器中访问:http://127.0.0.1:8080/ 初始密码在:/jen…
1. 拉取一个jenkins 镜像 docker pull jenkins 2. 创建与jenkins配置目录对应的,容器外的,文件目录,并修改相应的权限 mkdir /home/jenkins chown -R 1000:1000 jenkins/    给uid为1000的权限 3*. 启动容器 docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true  -v /home/jenkins:/var…
步骤一: 查找jenkins镜像(也可以直接去jenkins官网找镜像docker pull jenkins/jenkins)(官方版本文档https://hub.docker.com/_/jenkins/) [root@localhost docker]# docker search jenkins NAME DESCRIPTION STARS OFFICIAL AUTOMATED jenkins Official Jenkins Docker image [OK] jenkins/jenki…
1.拉取镜像 docker pull jenkins/jenkins 2.运行jenkins镜像作为容器 运行命令如下: docker run -d -p 9086:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name zsy-jenkins jenkins/jenkins 这里逐条解释下各参数的意义. -d 后台运行镜像 -p 9086:8080 将镜像的8080端口映射…
1.查询jenkins:docker search jenkins 2.拉取jenkins镜像 docker pull jenkins/jenkins:lts 3.新建jenkins的工作目录: mkdir /homemk/jenkins 4.查看目录归属的ID命令:ls -nd /home/jenkins 给ID用户添加操作权限:chmod  777 /home/jenkins 5.运行容器:docker run  -d -p 8080:8080  --name myjenkins    -v…
一 环境准备 1.1 安装插件Email Extension 系统管理-管理插件-安装Email Extension插件 1.2 配置 配置jenkins邮箱的全局配置:系统管理-系统设置-完成邮箱配置-测试是否配置正确,然后配置扩展邮件功能 完成项目job的邮箱配置:配置-增加构建后操作步骤Editable Email Notification 1.3 配置扩展功能 1.4 构建一个任务 1.5 点击构建 1.6 构建结果 邮件内容 二 使用自定义邮件 2.1 配置 此处添加为自己定义的邮件…
前言:上一篇文章中,写到了jenkins搭建,下面记录使用jenkins构建项目实践 1. 以构建.netcore项目为例,如果要构建.netcore项目,需要安装dotnet-sdk包 进入jenkins01容器: Docker exec –it –u root jenkins01 bash 参考官网:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install 安装netcore sdk,输入命令: apt-ge…
1. 分支策略 持续集成中使用的分支策略包括以下三个: The master branch The integration branch The feature branch 而CD只在Integration的release上分支上执行即可. 2. Release 分支 一些团队采用发布分支的策略.release分支是在所有代码在生产环境中经过验证之后创建的.也就是从master上面拉取的.创建release分支的目的就是在相应的版本上进行bug修复. 3. CD 管道 在此处,不会再创建新的p…
需要一种机制去存储所有的二进制代码(build,packages,third-party plugins等)到类似于版本控制系统的系统. 像Git,SVN存储代码,它们存储的往往是源代码,不是二进制文件.Artifactory或者Nexus就是和Jenkins紧密集成的二进制文件存储库系统. 可以带来以下好处:追踪构建(谁触发?谁构建)依赖关系部署历史 jfrog artifactory是一款二进制存储管理工具,用来管理构建工具(如:maven.gradle)等所依赖的二进制仓库,以方便管理第三…
一.参数化构建 1.1 各个参数的信息 凭据参数存储一个用户的账号密码信息,等等,运用最多的是选项参数 1.2 使用选项参数 构建已经变成参数化构建 1.3 获取这个值,修改Jenkinsfile文件 String srcType = "${env.srcType}" #使用env变量获取参数 node { def mvnHome stage('Checkout') { // for display purposes println('checkcode') } stage('Buil…
一.提交代码自动构建 当开发人员在gitlab提交代码后,会自动触发jenkin构建 点击项目---->点击diy_maven-TEST----->点击配置--->构建触发器---->根据需求选择触发器 1.1 安装gitlab hook插件 系统管理----->选择插件管理-------->查找gitlab-------->选择直接安装 安装完成 1.2 配置gitlab仓库 点击项目---->点击diy_maven-TEST----->点击配置--…
因为最近使用Pipeline声明式语法构建项目,但是最近项目的参数设置较多,特地的来学习一下关于参数的调用和测试,主要式从一个大神那里学习的,结尾回贴上大神的博客链接 1 构建一个pipeline项目 2 编写jenkinsfile文件 import hudson.model.*; pipeline{ agent any stages{ stage("Hello Pipeline") { steps { script { println "Hello Pipeline!&qu…
前言 前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍 一 sonar的简单介绍 持续检查避免了低质量的代码,比如SonarQube工具就能够帮助我们完成此项.每次代码提交后,在代码上就会执行代码分析. 分析是基于代码分析工具中定义的一些规则,如果代码通过了错误阀值,那么它会允许到生命周期的下一步,如果超过了设定的阀值,那么直接返回错误. SonarQube是代码质量管理工具,允许团队去管理,追踪和改善他们的源代…
简介 多分支的管道是在jenkins2.x中新增的功能 . 多分支管道允许你针对分布式的控制器的每个分支创建一个管道. 下图是对它的一个描述.使用jenkinsfile去创建多分支的管道,jenkinsfile可以存放在代码仓库中. Jenkinsfile只是定义CI管道的一个脚本. 另外,多分支管道的设计初衷就是当Git仓库中的代码改变时,去自动触发构建.下图是对它的一个描述. 一. 准备工作 (1)在[全局工具配置]中Maven工具已经配置好.(2)安装了[Pipeline Maven In…
一 简介 由于在公司构建很多工作,都是使用的maven工作构建的,这种构建方式很大缺点就是所有的工作都需要一步一步的配置,当项目较多,需求变动时,需要很大的精力去修改配置,很费劲 Pipeline即为代码的概念让我们重新认识了CI管道, 这个理念就是去完整的CI/CD管道作为代码,代码可以像程序代码一样被版本控制所管理.前面虽然做过实验,但是不系统,不容易理解,现在重新从零开始整理学习 以下是将管道作为代码的一些优势: 它是可编程的 所有的CI/CD管道配置都可以在一个单一的文件内描述. 它是版…
一.用户名密码错误 打开jenkins发现用户名密码错误,解决 1.1 找到config.xml文件 [root@jenkins-master ~]# ll -a drwxr-xr-x. root root Apr : .jenkins [root@jenkins-master ~]# cd .jenkins/ [root@jenkins-master .jenkins]# ll -rw-r--r--. root root Apr : config.xml #找到这个文件 -rw-r--r--.…
一.准备环境 准备三台机器 角色 IP地址 用户名 密码 jenkins-master   172.25.254.130    admin   meiyoumima gitlab 172.25.254.131 tseter  meiyoumima jenkins-slave(Maven 172.25.254.134 N/A N/A 二.jenkins-master安装 2.1 安装Java [root@jenkins-master ~]# yum install java-1.8.0-openj…
1.部署启动脚本: [root@node10 docker-data]# cat start.sh docker run -d \ --restart=unless-stopped \ -v /opt/docker-data/jenkins28080/jenkins_home:/var/jenkins_home \ -v /etc/localtime:/etc/localtime \ --name my-jenkins2 \ -p 28080:8080 \ -e JAVA_OPTS='-Dorg…
上一篇创建了一个centos的容器,而且已经安装了openssh [root@node6 ~]# docker ps -a f2320c5d3c54 centos minutes ago Exited () seconds ago compassionate_elbakyan [root@node6 ~]# docker images centos_jenkins latest deca1dcb74be minutes ago 703MB 1. 配置作为jenkins 的slave 2. 点击构…
持续集成不仅包含了Jenkins或者相关其它的CI工具,也包含了包含代码如何控制,采用的什么分支策略等.不同的组织可能采用不同的类型的策略来完成CI,策略类型和项目的类型的有很大的关系. 一 分支策略 1.1 本实验分支 分支能够有效的对代码较好的管理,也是能够把工作的代码和开发环境的代码隔离的有效方式.主要有三种的分支策略类型– master分支– integration 分支– feature 分支 1.master分支 master分支也叫做生产分支,该分支的代码全部是经过测试OK的代码.…
代码质量管理平台 一.checkout和打包功能 1.1 gitlab在新建一个文件 后续在写入内容 1.2 Jenkins新建一个任务 两个参数 1.3 流水线配置 copy仓库地址: http://172.25.254.131/devops/jenkins.git 保存 1.4 生成流水线脚本 复制给i他地址.配置pipeline syntax 1.6 编写sonar.kenkinsfile文件 #!/usr/bin/groovy node(){ //checkout checkout([$…
在实际生产中,我们经常会需要通过判断一个结果作为一个条件去执行另一个内容,比如判断一个文件是否存在,判官一个命令是否执行成功等等 现在我们选择其中一个场景进行实验,当某个目录下存在,则执行操作 1. 下载一个文件 [root@node1 ~]# cd /opt/ [root@node1 opt]# wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz [root@node1 opt]# ll -rw-r--r-- 1 root…