docker与jenkins学习
docker命令:
docker create <image-id>
docker start <container-id>
docker run <image-id> = docker create <image-id> + docker start <container-id>
docker ps
docker ps -a
docker images
docker images –a
docker stop <container-id>
docker kill <container-id>
docker pause <container-id>
docker rm <container-id>
docker rmi <image-id>
docker commit <container-id>
docker build
docker exec <running-container-id>
docker inspect <container-id> or <image-id>
docker save <image-id>
docker export <container-id>
docker history <image-id>
Dockerfile
FROM jdk8:slim ADD target/udap-user.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom" ,"-jar" , "-Xms128m","-Xmx128m" ,"/app.jar"]
Jenkinsfile
pipeline { agent { label 'iclass5' } stages { //slave 机器执行编译打包上传
stage('Checkout') { steps { echo 'start to check from github' checkout([$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'SparseCheckoutPaths',
sparseCheckoutPaths:[[$class:'SparseCheckoutPath', path:'udap-user']]]
], submoduleCfg: [],
userRemoteConfigs: [[credentialsId: 'github-wwlleo0730', url: 'https://github.com/udap/mediabox']]])
}
} stage('mvn build & test'){ steps { echo 'start to mvn build' sh "docker run -i --rm -v ${env.WORKSPACE}/udap-user:/usr/src/workspace -v /root/.m2/repository/:/root/.m2/repository -v /opt/maven/settings.xml:/root/.m2/settings.xml -w /usr/src/workspace maven mvn clean package -U -Dmaven.test.skip=true"
}
} stage('remove old container'){ steps{ sh '''CID=$(docker ps | grep iclass.cn/$JOB_NAME | awk \'{print $1}\')
if [ "$CID" != "" ];then
docker rm -f $CID
fi'''
} } stage('rebuild image'){ steps { sh '''CID=$(docker images | grep iclass.cn/$JOB_NAME | awk \'{print $1}\') if [ "$CID" != "" ];then
docker rmi iclass.cn/$JOB_NAME
fi''' script {
docker.build('iclass.cn/$JOB_NAME','./udap-user')
}
}
} stage('restart container'){ steps{ echo 'start..'
sh 'docker run -d --name $JOB_NAME -p 4010:4010 -e "SPRING_PROFILES_ACTIVE=test" -e "EUREKA_INSTANCE_IP-ADDRESS=10.80.228.221" iclass.cn/$JOB_NAME'
} }
}
}
docker与jenkins学习的更多相关文章
- docker 安装 jenkins 笔记
前提: 已安装好 docker-ce,可运行 docker 命令 命令: sudo docker pull jenkins mkdir -p ~/dockers/jenkins cd ~/docker ...
- Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署
一.创建jenkins容器: 1.拉取jeknin镜像 sudo docker pull jenkins 2.创建一个jenkins目录 sudo mkdir /jenkins 3.在jenkins目 ...
- Docker学习(二)- Docker 安装 Jenkins
一.拉取镜像 我这里安装的版本是2.222.3-centos,可以去这里获取你需要的版本: https://hub.docker.com/_/jenkins?tab=tags docker pull ...
- docker结合jenkins、gitlab实现.netcore的持续集成实践
本文的目标是实现下图基于ASP NET Core的实践 运行环境 Cent OS 7 vs code .net core cmder 运行docker,设置docker镜像加速器,不然国内下载imag ...
- Windows 下 Docker 的简单学习使用过程之一 dockertoolbox
1. Windows 下面运行 Docker 的两个主要工具1): Docker for Windows2): DockerToolbox区别:Docker For Windows 可以理解为是新一代 ...
- docker和jenkins安装启动
docker安装Jenkins 1.安装Docker 1.1 yum 包更新到最新 sudo yum update 1.2 安装需要的软件包, yum-util 提供yum-config-manage ...
- Jenkins - 基于 Docker 的 Jenkins 安装
概述 安装 Jenkins 基于 Docker 这个有点 水一发 的性质... 场景 学习 Jenkins 第一步, 当然是安装 但是 安装的方法 很多 Jenkins 是基于 Java 的 所以是个 ...
- 【Copy攻城狮日志】docker搭建jenkins拉取svn代码打包vue项目部署到nginx
↑开局一张图,故事全靠编↑ 前言 打开搜索引擎输入『Copy攻城狮』,发现最新的一条记录已经是去年的4月,意味着我又有一年时间没有再总结成长了.习惯了“温水煮青蛙”的日子,无论是经验水平还是薪资收入, ...
- Docker安装Jenkins打包Maven项目为Docker镜像并运行【保姆级图文教学】
一.前言 Jenkins作为CI.CD的先驱者,虽然现在的风头没有Gitlab强了,但是还是老当益壮,很多中小公司还是使用比较广泛的.最近小编经历了一次Jenkins发包,感觉还不错,所以自己学习了一 ...
随机推荐
- base642photo
/** * pic to base64Str * @param path 读取路径 * @return */ public static String GetIm ...
- linux tomcat安装(二)
安装步骤: 1.下载 Tomcat 下载 apache-tomcat-7.0.69.tar.gz(官方网址:http://tomcat.apache.org/) 2.解压 Tomcat 解压 apac ...
- linux上部署thinkphp5提示500
解决方法一:LNMP 1.4上也可以直接使用lnmp1.4/tools/ 目录下的 ./remove_open_basedir_restriction.sh,输入网站的全路径(如/www/wwwroo ...
- 用户认证系统 django.contrib.auth模块
一 导入auth模块 from django.contrib.auth.models import User from django.contrib import auth auth模块的操作针对的就 ...
- Adoquery的 moveby和GotoBookmark,RecNo
GotoBookmark 是必须存在的记录,再次返回原来那个记录的位置,但是原来的那个记录必须存在,所以不适合[删除订单后回到原来的位置],因为原来的订单已经不存在了,删除了, moveby(),从当 ...
- loading上下左右居中
.loading { width: 50px; height: 60px; text-align: center; font-size: 10px; position:fixed; left:50%; ...
- Hash Collision DoS 问题
Hash Collision DoS 问题http://coolshell.cn/articles/6424.html Hash Collision DoS (Hash碰撞的拒绝式服务攻击),有恶意的 ...
- java中线程切换的开销
思路: 开三个线程A,B,C 线程A不断的调用LockSupport.park()阻塞自己,一旦发现自己被唤醒,调用Thread.interrupted()清除interrupt标记位,同时增加自增计 ...
- mybatis-plus generator template 中的全部属性
{ "date": "2018-10-30", "superServiceImplClassPackage": "com.baom ...
- Jackson对泛型的序列化和反序列化方法汇总
说明:Jackson对于简单泛型是可以正常操作的,但是如果对于太过于复杂的泛型类有时会不成功.目前还在找着更合适的Json库.不过这一点在dotnet原生方案JavaScriptSerializer可 ...