jenkins使用docker部署web应用

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.0
    container_name: jenkins
    build:
      context: .
    user: jenkins
    ports:
      - 8888:8080
      - 50000:50000
    volumes:
      - ./data:/var/jenkins_home
      - ./m2:/root/.m2
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/local/bin/docker:/usr/bin/docker
    environment:
      - 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 SSH
Git Parameter
Config 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. ________________________________________________________ 

posted @ 2018-06-27 17:13  cymin  阅读(663)  评论(0编辑  收藏  举报