docker安装jenkins

定制自己的jenkins镜像,官网: https://github.com/jenkinsci/docker

1. Dockerfile:

FROM jenkins/jenkins:lts
USER root
# 安装docker-compose,可选,因为自己使用了这个插件
RUN curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
RUN chmod +x /usr/local/bin/docker-compose# 安装jenkins插件,插件安装完后可以在web界面上进行升级插件
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt

plugins.txt:

https://github.com/fabric8io/jenkins-docker/blob/master/plugins.txt

2. docker-compose.yml

version: '3'
services:jenkins:image: cymin/jenkins:1.0container_name: jenkinsbuild:context: .user: jenkinsports:- 8888:8080- 50000:50000volumes:- ./data:/var/jenkins_home- ./m2:/root/.m2- /var/run/docker.sock:/var/run/docker.sock- /usr/local/bin/docker:/usr/bin/dockerenvironment:- JAVA_OPTS="-Djava.util.logging.config.file=/var/jenkins_home/log.properties"
networks:default:external:name: service

3. Build and Start :

docker-compose build
docker-compose up -d

4. Access

http://localhost:8888

  

安装完成后在浏览器进行访问,可升级响应的插件、修改用户名和密码,以便后续登录。

常用的插件:

Docker Commons Plugin
Docker Plugin
Artifactory
Copy Artifact
Maven Release Plug-in
Next Build Number
Timestamper
Publish Over SSHGit ParameterConfig File Provider


Jenkins Usage

在github上新建maven项目,本人项目的测试地址: https://github.com/cymin/hello

下面是具体的详细配置截图:

1. 配置github项目

2. 参数化构建项目

3. 使用git tag

5. 使用jenkins提供的配置文件替换项目中的配置文件(可选)

6. 重新生成名称相同的镜像后,原来的镜像名称会变成<none>,在这里进行删除上次编译的镜像。

# 批量删除名称为<none>的镜像
docker rmi -f `docker images |grep \<none\>|awk '{print $3}'`&> /dev/null

7. maven项目编译配置

 

8. 编译后的操作,生成镜像

注意下面的"--no-cache"参数设置,不然jenkins不会checkout最新的代码而使用缓存进行再次构建。

echo "--------------------------------< Deploy hello >--------------------------------"
cd $WORKSPACE
# Build
docker-compose build --no-cache
container_name=cymin/hello
docker images | grep $container_name
# Deploy
docker-compose up -d
docker ps | grep $container_name

8. 执行构建

构建的部分日志:

9. Test

➜  ~ curl localhost:8080
hello, cymin666

10. 总结

类似的文章有很多,但是每个人的使用是不一样的,只为自己记录一下自己两天的学习?。


其他相关

1. 使用Docker Remote REST API

开启方式参照博客: https://my.oschina.net/u/2306127/blog/777695

注意:这里必须写真实的ip地址,也可以写主机名,比如本机的hostname是cymindeMBP.lan,但不能写localhost或者127.0.0.1.

使用方式,比如:

docker -H tcp://192.168.201.206:2376 ps

________________________________________________________ The end. ________________________________________________________

转载于:https://www.cnblogs.com/UUUP/p/9234625.html

jenkins使用docker部署web应用相关推荐

  1. 使用Docker部署web项目

    1.简介 本片文章主要介绍如何使用docker部署web项目.关于docker的安装及基本使用在笔者的另一篇文章中有相关的介绍. 链接 https://blog.csdn.net/H_porridge ...

  2. 《Linux下使用Docker部署Web项目》

    ​说在前头:本人为大二在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,能力有限,文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正. ...

  3. 【云原生之Docker实战】使用Docker部署Web在线聊天室Rocket.Chat

    [云原生之Docker实战]使用Docker部署Web在线聊天室Rocket.Chat 一.Rocket.Chat介绍 二.检查本地系统环境 1.检查系统版本 2.检查docker版本 3.检查doc ...

  4. Jenkins+Pipeline+Docker部署SpringBoot项目到远程服务器

    Jenkins部署 前言 Jenkins 安装 nginx配置 jenkins配置 Docker安装 项目部署 项目添加Dockerfile文件 Jenkins新建任务 使用Pipeline部署 结果 ...

  5. docker安装jenkins并用docker部署net

    1. 部署jenkins 1.1 创建jenkins的工作目录 //创建工作目录 mkdir /var/jenkins_home //赋予权限 chown -R 1000 /var/jenkins_h ...

  6. [转]docker入门(利用docker部署web应用)

    前言:本课程是在慕课网上学习 第一个docker化的java应用 课程时所做的笔记,供本人复习之用 目录 第一章 什么是docker 1.1 docker的发展史 1.2 docker国内应用史 1. ...

  7. 史上最简单的docker入门到放弃——(利用docker部署web应用)

    目录 @[TOC](目录) 第一章 什么是docker 1.1 docker的发展史 1.2 docker国内应用史 1.3 什么是Docker 第二章 了解docker 2.1 docker思想 2 ...

  8. 超详细的docker部署Web应用

    使用docker搭建web环境 拉取镜像 $ docker pull ubuntu:18.04 创建容器 创建容器并挂载共享文件夹. $ docker run -v /run/media/duappl ...

  9. docker入门(利用docker部署web应用)

    更新:随手写的一篇博客能收获这么多赞真是挺开心的,不过现在博主很忙,博主本人主要也是从事Java方向对docker暂时没有更深的理解了,写这个目的也是为了自己复习,恕不能对出现问题的同学进行答疑了,当 ...

最新文章

  1. 计算机MCI风险快速筛查系统,轻度认知障碍风险快速筛查工具的测算过程及判别效果分析...
  2. lambda与内置函数
  3. [gtest][002] A quick start to build the Google C++ Testing project
  4. python机械_10分钟掌握Python-机器学习小项目
  5. Laravel -- Excel 导入(import) (v2.1.0)
  6. 深层和浅层卷积_浅层vs深层javascript
  7. 小技巧丨累了困了学不下去的时候该怎么办?
  8. 电压源 电流源 置零时的作用
  9. 初级加密技术之块设备加密
  10. 网络视频无法快进无法选中进度条
  11. ps制作台式计算机图标,图标制作,用PS制作计算机应用的图标
  12. 7-10 计算多门课的平均绩点
  13. 【趣文】我是一个Java class
  14. 马尔可夫链在人工智能中的应用
  15. php网站水印功能代码,php给图片添加水印实例代码
  16. 企业网站友情链接有什么作用,毫无保留的给大家分析
  17. 可商用字体在哪里找?2022可商用字体汇总
  18. linux 默认 使用 root 登录
  19. CSpreadSheet类学习(操作EXCEL)
  20. android rom 评测,仍不完善但值得期待 锤子ROM测试版试玩

热门文章

  1. leetCode题解之Jewels and Stones
  2. log4j配置目标到mongodb
  3. 云计算的6个未来趋势
  4. Sonata 0.7
  5. Nettiers快速使用入门(一) 数据库
  6. 为ActiveX制作数字签名 -- 介绍 (引)
  7. 关于realarm210 realarmTest.apk不能直接安装问题解决方法
  8. 将长方形木框拉成平行四边形_【减负提质进行时】平行四边形的面积再思考
  9. python 动态_python实现动态创建类的方法分析
  10. CTF基础理论知识02