前两天朋友问的,docker+jenkins整合。
我也没搞过,但是正好最近有空,我也很有兴趣,就搞一下。
docker是什么,以及如何安装,我这里不做解释,只介绍一些我踩过的坑。
首先说docker,我用的是centos7的镜像,里面连wget都没有,网上资料也很少,坑也是自己慢慢踩过来。
先说路由表,我用的是阿里云,安装完docker,命令会报错,经查找需要改路由表
sudo route del -net 172.16.0.0 netmask 255.240.0.0
由于我对linux也不是很熟,我只知道他需要启动一些进程,例如提示你docker -d,你可以输入docker -d看看。
然后docker images,如图下
这个镜像pull下来之后,没有改动,就基于这个构建。
构建方式首选Dockerfile,他的方便性还是不错的。
新建一个文件,这里用
touch Dockerfile
vi Dockerfile
下面是我写的Dockerfile,你可以直接复制进去
复制代码
FROM centos:7
MAINTAINER yuxh yuxh19901014@163.com
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN sed -i.bak 's#aliyun\.com#aliyuncs.com#' /etc/yum.repos.d/CentOS-Base.repo
RUN yum install wget -y
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
RUN wget http://mirrors.aliyuncs.com/apache/tomcat/tomcat-7/v7.0.63/bin/apache-tomcat-7.0.63.tar.gz
RUN wget http://mirrors.aliyuncs.com/apache/ant/binaries/apache-ant-1.9.6-bin.tar.gz
RUN cd /opt
RUN tar -xvf apache-tomcat-7.0.63.tar.gz -C /opt/
RUN tar -xvf apache-ant-1.9.6-bin.tar.gz -C /opt/
RUN tar -xvf jdk-7u79-linux-x64.tar.gz -C /opt/
ENV JAVA_HOME /opt/jdk1.7.0_79
ENV ANT_HOME /opt/apache-ant-1.9.6
ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $JAVA_HOME/bin:$ANT_HOME/bin:$PATH
RUN wget -P /opt/apache-tomcat-7.0.63/webapps http://mirrors.jenkins-ci.org/war/latest/jenkins.war
RUN yum install git -y
CMD /opt/apache-tomcat-7.0.63/bin/catalina.sh run
# expose memcached port
EXPOSE 8080
复制代码
第一行,是基于哪个镜像,我刚刚说过,第三行只是联系方式。
下面就是修改和增加一些开发环境,这里多亏有运维的朋友帮忙,要不然我真搞不定。
上面有一行关于jdk的下载,那个是需要跳过oracle验证,由于直接下载不下来,这里是百度找到的方法。
下面使用了ENV 来配置环境变量
CMD是构建之后,执行的命令,这里启动tomcat
EXPOSE 8080 这里是tomcat需要的端口。
这些写完之后保存,然后执行如下命令构建
docker build -t jenkins/centos:v1 .
其中-t jenkins/centos给镜像命名,v1是标签,后面有个.,意思是从当前目录查找Dockerfile
构建过程是很慢的,请耐心等待。。。。。
成功后,使用如下命令运行镜像。
docker run -d -p 80:8080 jenkins/centos:v1
80:8080意思是,端口映射,把8080映射到80.
这里如果不报错,输入ip就可以访问了
有什么不会的可以问我,反正我也不怎么会,2333333
分享到:
相关推荐
Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud;自动化构建
主要给大家介绍了关于ASP.NET Core+Docker+Jenkins实现持续集成的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
之前自己的项目开发就搭了个cicd的环境,那时候是在本就...jenkins+dockerregistry+docker 见之前的笔记 总的差不多这样:之后对kubernetes的接触后,就在之前的基础上加入kubernetes,其实也就是在服务器拉取镜像docker
企业级CI/CD,项目自动化实战,从0到有,但不涉及相关原理。适合上手,建议实际操作之后再详细学习相关原理。
1. Docker+Jenkins+GitLab+Maven+Harbor+SpringBoot自动化构建+Jenkins自动化部署配置 2.无须运维部署 ,而是相关的开发人员,测试人员登录jenkins传入需要部署的tag即可,整个部署过程无须运维参与,解放运维劳动力
* 使用 K8S+DockerCE+Jenkins+Maven+Gitlab 实现自动化打包部署,需要配置 Jenkins 和 Gitlab,以实现自动化构建和部署。 * 需要编写 Jenkinsfile,以实现自动化构建和部署。 * 需要配置 Gitlab,以实现自动化代码...
Gitllab+Jenkins+Docker+Harbor 自动化部署流程 一、 版本控制系统 Gitllab Gitllab 是一个基于 web 的 Git 仓库管理系统,提供了一个强大且灵活的平台来管理 Git 项目。 Gitllab 允许用户创建、管理和共享 Git ...
Docker+Jenkins+Harbor+GitLab
docker+jenkins+tomcat+mysql+redis+nginx,实现jenkins自动构建部署。Java+maven是单独搭建的。
如何零基础搭建一套微服务框架(Spring Boot+Dubbo+Docker+Jenkins)
docker+jenkins+github实现golang项目自动部署.rar
gitlab+jenkins+docker自动化部署脚本,采用shell与python开发,其中python部分均为封装成型的逻辑,只接受shell传参就能完成项目构建
Docker + Jenkins + Gitlab + Pytest + Allure 接口自动化测试之持续集成.zip
知识点 3: 使用 Docker+Jenkins+Git 发布 Java 项目流程 使用 Docker、Jenkins、Git 和 Registry 可以实现自动化的 Java 项目发布流程,流程如下: 1. Java 项目开发 2. 提交项目代码到 Git 容器 3. Jenkins 容器...
Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建
整个过程可以分为四个步骤:安装 Docker、安装 Jenkins、配置 Jenkins 基本信息、使用 Dockerfile 和 shell 脚本实现项目自动拉取打包并运行。 安装 Docker 首先,需要安装 Docker 社区版本 CE。确保 yum 包更新到...
Docker+K8s+Jenkins 教学视频
Docker+Kubernetes+Jenkins视频教程 这堂视频课程主要讲解了Docker、Kubernetes和Jenkins三个热门技术的应用和集成,旨在帮助开发者和运维工程师快速掌握容器化和自动化部署的技术。 Docker Docker是一种轻量级的...
企业级Docker+JenkinsPipeline+GitlabCI_CD工作流自动化构建实践