安装Jenkins

just one line

docker run -it -p 8080:8080 jenkinsci/blueocean

open broswer input ip:8080

创建task

新建 - 流水线

配置里填写git仓库地址, 选择分支

脚本路径默认 Jenkinsfile

在项目(git仓库的Project)根路径创建Jenkinsfile 文件

pipline {agent any //agent 部分指定了整个流水线或特定的部分, 将会在Jenkins环境中执行的位置tools 'gradle' // depends on you tool namestages {stage('build') {step {sh 'gradle -v'sh 'gradle bootJar'}}}
}

保存
立即构建

踩坑

使用github仓库时使用http路径总是报错

然后转为使用git@路径, 需要在你的主机上生成ssh key

然后设置在github账号中(id_rsa.pub 文件内容)

或者在Jenkins全局配置中配置github token

由于我是在docker 中运行Jenkins, 所以我们把密钥的路径映射一下

运行docker时加上 -v /root/.ssh:/root/.ssh

其它

生成token
ssh-keygen -o

验证
ssh -T git@github.com

you will see

Hi username! You’ve successfully authenticated, but GitHub does not provide shell access

安装docker细节

docker 安装方式有很多种, 这里我们介绍使用docker安装的方式

注意我们的镜像是带 blueocean 的
blueocean 是一种管理 Pipeline 类型task的一套 ui

docker run --net=host jenkinsci/blueocean

这里有一点注意, –net=host 使用host网络(默认是bridge) 因此我们可以在主机直接访问容器里的端口, docker 安装后默认包含三种网络 host, bridge, none
我们知道 Jenkins 默认跑在 8080 端口, 此时我们使用 ip:8080 即可访问

或者使用-p参数进行端口映射

docker run-u root-d -p 8080:8080 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock-v /root/.ssh:/root/.sshjenkinsci/blueocean

-v jenkins-data:/var/jenkins_home 参数使用docker volume这样Jenkins数据可以持久保存, 即使重启容器也可以保存上次运行信息
-d 后台执行
-p 发布端口

use docker agent

pipeline {agent {docker { image 'gradle:jdk8' } //我们选择使用docker gradle镜像来准备}stages {stage('build') {steps {sh 'gradle -v'sh 'gradle clean bootJar'}}stage('start') {steps {sh "chmod +x ./deliver.sh"sh './deliver.sh'}}}//执行成功后后续操作post {success {echo 'success'}}
}

deliver.sh

echo 'The following command runs and outputs the execution of your Java'
echo 'application (which Jenkins built using gradle) to the Jenkins UI.'service_name="hello-blog"
service_prot=9000set -x
docker build . -t $service_name
docker run -d --name $service_name --net=host (-p $service_prot:$service_prot) $service_name

docker outside of docker

由于我们的Jenkins跑在dcker里面,我们的java应用也需要docker环境

我们需要加上卷映射
-v $(which docker):/usr/bin/docker
-v /var/run/docker.sock:/var/run/docker.sock

这时就可以,在镜像内部继续使用docker

reference:
https://blog.container-solutions.com/running-docker-in-jenkins-in-docker

https://www.jenkins.io/zh/doc/book/installing/

Jenkins ——你很神气相关推荐

  1. jenkins和docker实现自动化构建部署

    应用场景 程序员开发应用,开发后需要提交gitlub,然后从gitlab拉取代码,进行构建,发布到tomcat中然后发布看呈现效果,这样的工作是频繁反复的在进行的,浪费了程序员的大量时间,那么能不能把 ...

  2. jenkins集群测试环境原理

    Jenkins自动化构建成过程,可帮助我们节省大量时间,完成这个过程的自动化后,在以后的开发过程中,我们需要做的,就是只是提交代码到版本库中,构建自动完成,基本不再需要人工干预. 代码仓库作为构建的素 ...

  3. Robotframework集成jenkins执行用例

    Robotframework+jenkins配置 假设我们完成了一个模块的用例设计,可是想晚上9点或凌晨运行,这时候该怎么实现呢?jenkins可以很好解决我们的疑难. Jenkins安装 这里简单说 ...

  4. Jenkins 在 Tomcat 中的部署及代码静态检查工具集成

    Jenkins 的简单部署 在安装了 Jenkins 运行所需的依赖(主要是 JDK)之后,可以通过如下步骤简单快速地部署 Jenkins: 下载 Jenkins. 打开终端并切换至下载目录. 运行命 ...

  5. 使用应用编排服务一键式部署,持续集成利器--jenkins

    这篇文章主要是来聊一聊jenkins,可说道jenkins,我没有办法不把它与持续集成(Continuous integration,简称CI)联系到一起,所以我先来谈谈什么是持续集成以及为什么需要持 ...

  6. Jenkins 安装与使用--实例

    參考了博客Jenkins master在windows上安装 Jenkins的主要功能是监视反复工作的运行,比如软件project的构建详细地: *软件的持续构建和測试 本质上提供了一个易于使用的持续 ...

  7. 测开:从0到1,自动化测试接入Jenkins学习

    1. 背景 本地实现了自动化脚本之后,公司需要统一管理和定时构建执行.所以接到了使用Jenkins来做持续集成管理的任务.下面开始我一步步构建的过程. 当时公司运维的同学已经搭建了Jenkins的环境 ...

  8. Jenkins 设置镜像_在k8s上安装Jenkins及常见问题

    持续集成和部署是DevOps的重要组成部分,Jenkins是一款非常流行的持续集成和部署工具,最近试验了一下Jenkins,发现它是我一段时间以来用过的工具中最复杂的.一个可能的原因是它需要与各种其它 ...

  9. 在Tomcat下部署Jenkins

    部署Jenkins有很多种方法,今天我们介绍下如何通过Tomcat轻松部署Jenkins 一.Why Linux,Not Windows 一般都会将Jenkins这种服务类的系统,部署在Linux端( ...

最新文章

  1. 机器学习入门(04)— 神经网络多维数组 NumPy 相乘运算
  2. 关于consistent hash的思考及改进方案
  3. 石子归并 51Nod - 1021
  4. ROS系统玩转自主移动机器人(3)-- 开源机器人结构介绍
  5. (数学分析笔记)常用函数不定积分及其计算技巧
  6. mysql句式增删改,MySQL 增删改语句
  7. 恢复初始快捷键_如何将Windows10系统还原初始状态
  8. nodejs pm2教程(转载)
  9. 小腿抽筋了,按摩承山穴,外加念观世音菩萨是不是迷信
  10. CAPL基础知识学习
  11. 一二线城市知名IT互联网公司名单!
  12. 如何修改PDF,PDF怎么旋转页面方向
  13. TOM邮箱|怎么在邮箱里设置邮件个人签名呢?
  14. Cherno C++ P61 C++的命名空间
  15. 【宽创案例】青海牦牛文化馆:走进牦牛之都!
  16. Pr:Lumetri 范围
  17. 《ClickHouse原理解析与应用实践》读书笔记(2)
  18. Lammps压力控制之活塞控压—一个代码循环限域空间内的气体分子数
  19. python成绩查询系统_python成绩查询
  20. python执行定时任务

热门文章

  1. 互评成绩 python
  2. dropout_keep_prob
  3. 【小明有啥说啥】我不会写标题,端午随便分享几点小技巧
  4. BarTender 打印机的控制详解
  5. jqGrid 学习笔记整理——基础篇
  6. dp P1968 美元汇率 题解
  7. 一点透视,二点透视,三点透视的理解
  8. 测试显卡位宽软件,科普:显卡位宽基础知识指南
  9. 如何查询网站虚拟服务器的ip,正确姿势查看海外虚拟主机真实IP地址 cPanel面板IP信息...
  10. 思岚科技亮相2017电子博览会 倍受瞩目