2019独角兽企业重金招聘Python工程师标准>>>

公司项目需要,本地提供代码管理+git+jenkins+maven环境,通过SSH发布到docker服务器进行部署

持续集成的工具有很多,例如Jenkins、Strider、Drone.io等。我自身接触Jenkins比较多,在这里我就选选择Jenkins、TFS、Docker来实现简单的实现持续集成。

TFS持续集成的就是跟踪代码变更,合并,能够自定义脚本,任务进行自动化测试,发版,部署,有点像docker的味道。在这个代理服务器分布式中tfsserver起着能够随时拿去最新代码能够统一执行任务的角色,所不同的是代理服务器仅仅是执行具体的编译,而tfs起着统一管理,调度,安排的作用。

Docker则是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中。

docker安装使用篇

一.先决条件

首选需要一个64位操作系统和3.10或者更版本的内核。

查看当前内核版本:

?

1

2

$ uname -r

3.10.0-229.el7.x86_64

二.yum安装Docker Engine

安装Docker Engine有两种方式,我们先选择yum安装,并且Docker官方提供了yum源。

1.使用普通用户sudo或者root登录到你的服务器,更新yum,确保你的软件都是最新的

?

1

$ yum update

2.添加Docker的yum源

?

1

2

3

4

5

6

7

8

$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

3.安装Docker软件包

?

1

$ yum install docker-engine

4.设置Docker服务开机自启

?

1

$ systemctl enable docker.service

5.启动Docker服务

?

1

$ systemctl start docker

6.验证Docker是否安装成功

?

1

$ docker run --rm hello-world

至此:docker最新版已经安装完成,下面我们进行生产环境镜像的创建,使用dockerfile

dockerfile(白话其实就是一个脚本,把一个纯镜像按照所需应用或者环境每个操作集成到一个文件执行安装的过程,类似于linux的shell.)

走世界自由行环境需求(tomcat+jdk)

#以下是我们采用纯净centos,之后安装所需环境依赖的应用(tomcat+jdk)

FROM centos

#以下是我们声明的维护人或者叫做作者

MAINTAINER locutus "zoushijie"

# OS环境配置

RUN yum install -y wget

# 安装JDK

RUN mkdir /opt/jdk

RUN wget -P /opt/jdk/ http://zsj-linux.oss-cn-hangzhou.aliyuncs.com/yunwei/jdk-8u162-linux-x64.tar.gz

RUN tar -zxvf /opt/jdk/jdk-8u162-linux-x64.tar.gz -C /opt/jdk && rm -rf /opt/jdk/jdk-8u162-linux-x64.tar.gz

# 安装tomcat

RUN mkdir /opt/tomcat

RUN wget -P /opt/tomcat http://45.77.240.64/apache-tomcat-8.0.47.tar.gz

RUN tar -zxvf /opt/tomcat/apache-tomcat-8.0.47.tar.gz -C /opt/tomcat && rm -rf /opt/tomcat/apache-tomcat-8.0.47.tar.gz

#设置环境变量

ENV JAVA_HOME /opt/jdk/jdk1.8.0_162

ENV CATALINA_HOME /opt/tomcat/apache-tomcat-8.0.47

ENV PATH $PATH:$JAVA_HOME/bin

ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#打包项目并拷贝到tomcat webapps目录

RUN mkdir /opt/webapp

ADD ./ /opt/webapp

RUN cd /opt/webapp && cp /opt/webapp/war/eureka-server.war /opt/tomcat/apache-tomcat-8.0.47/webapps/

#开启内部服务端口

EXPOSE 8080

#启动tomcat服务器

CMD ["./opt/tomcat/apache-tomcat-8.0.47/bin/catalina.sh","run"] && tail -f /opt/tomcat/apache-tomcat-8.0.47/logs/catalina.out

此为没有修改默认目录容器,下面我们进行修改默认访问目录操作

查看正在运行的容器:docker ps -l

之后进入容器:docker exec -it dd46f73e366e /bin/bash

进入tomcat修改server.xml 文件,添加对应微服务名称:<Context path="" docBase="微服务名称" debug="0" reloadable="true" />

之后要保证容器运行的状态下退出交互界面:Ctrl+p+q,我们可以看到容器仍在运行,下面我们保存一下刚才修改的容器,并以微服务命名

docker commit dd4 eureka-server

查看新生成的镜像:出现了名为eureka-server的镜像

删除本地不用的镜像。docker rmi -f <镜像id>,首先先停止运行中的容器,docker stop <镜像id>,停止运行中的容器,要从docker ps 里查看id.不是在docker images 里查看。

jenkins在windows下的安装

安装JDK前期准备:

1:下载安装JDK 
JDK官方下载网站:http://www.oracle.com/technetwork/java/archive-139210.html 下载多少版本自己决定。 
2:配置JDK的环境变量 
在安装完JDK后配置一下环境变量。在我们日后配置jenkins时也会用到。 
(1)到高级系统设置中配置环境变量: 
 
(2)创建变量JAVA_HOME,如下图: 
 
(3)创建后添加自己安装的JDK下的bin目录和jre/目录到PATH中,如下图: 

(4)打开CMD,输入javac命令,看是否识别,若给参数提示说明配置成功,如下图: 

下面开始安装jenkins:

1:去官网下载jenkins.war包。 
官网地址:http://Jenkins-ci.org/ 
官网镜像地址:http://mirrors.jenkins-ci.org/war-stable/ (在里面可以选择任意版本的war包,lastest为最新的,推荐下载!)

2:下载完后在c盘根目录建一个jenkins文件夹,并把jenkins.war文件拷进去。 

3:打开cmd,进入c盘下的jenkins目录,然后运行命令:java -jar jenkins.war 

这样jenkins就安装成功了。然后我们打开一个浏览器,输入localhost:8080 就会弹出jenkins的web界面。如下图: 

至此jenkins在windows下的安装就完成了!!

转载于:https://my.oschina.net/u/3659224/blog/1636041

Jenkins+docker+maven+git自动化构建与部署相关推荐

  1. SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    作者:寅务 www.jianshu.com/p/bdb0642b7495 1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服 ...

  2. gitlab ci 自动化部署_前端gitLab加jenkins自动化构建和部署,以及服务器常用的linux命令行操作,免密登录...

    常用的linux命令行操作 将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下: ll 罗列出当前文件或目录的详细信息,含有时间.读写权 ...

  3. 使用Jenkins配置SpringBoot的自动化构建

    相关阅读 1.使用Jenkins配置Git+Maven的自动化构建 2.Jenkins部署Maven多环境项目(dev.beta.prod)的参数设置 3.使用Generic Webhook Trig ...

  4. 边缘化搭建DotNet Core 2.1 自动化构建和部署环境

    写在前面 写这篇文章的缘由是由于笔者的对新兴技术方向有所追求,但个人资产有限,只能容许购买一台阿里云低配1核2G服务器.服务器上搭建了 Centos7 & Docker & Jenki ...

  5. 边缘化搭建DotNet Core 2.1 自动化构建和部署环境(上)

    写在前面 写这篇文章的缘由是由于笔者的对新兴技术方向有所追求,但个人资产有限,只能容许购买一台阿里云低配1核2G服务器.服务器上搭建了 Centos7 & Docker & Jenki ...

  6. Jenkins 与 GitLab 的自动化构建之旅

    本文来自作者 墨雪卿 在 GitChat 上分享 「Jenkins 与 GitLab 的自动化构建之旅」,「阅读原文」查看交流实录. 「文末高能」 上一篇:<Git 企业开发者教程> 1. ...

  7. AWS攻略——使用CodeBuild进行自动化构建和部署Lambda(Python)

    Aws Lambda是Amazon推出的"无服务架构"服务.我们只需要简单的上传代码,做些简单的配置,便可以使用.而且它是按运行时间收费,这对于低频访问的服务来说很划算.具体的介绍 ...

  8. AWS攻略——使用CodeBuild进行自动化构建和部署静态网页

    首先声明下,使用"CodeBuild"部署并不是"正统"的方案,因为AWS提供了"CodeDeploy".如果不希望引入太多基础设施,可以考 ...

  9. jenkins+docker+maven自动化部署

    一. pull jenkins镜像,官方建议 二.运行jenkins容器(容器操作参考https://www.jenkins.io/zh/doc/book/installing/#%E5%9C%A8d ...

最新文章

  1. 这家研究院太年轻,竟跟世界级选手“叫板”
  2. 运维日常:群发邮件营销平台--EDM
  3. Linux C编程--进程间通信(IPC)3--信号集和发送信号介绍
  4. leetcode算法题--最接近的三数之和
  5. 如何查看Android设备上的分区信息
  6. cache/TLB里分别都有什么?
  7. java byte转换成string_Java byte []到/从String转换
  8. 《python网络数据采集》读后感 第六章:读取文档
  9. 小白科普:Netty有什么用?【转载】
  10. 转载:【微信小程序】 wx:if 与 hidden(隐藏元素)区别
  11. mybatis多数据源配置_随笔:springboot+mybatis 配置双数据源
  12. 【WPF学习笔记】之如何点击“新建”按钮,在面板中加载一条条的“用户控件”的信息:动画系列之(四)...
  13. 用8张图理解Java
  14. Linux学习之sed编辑器
  15. 每天一个linux命令cd,Linux指令每日背诵(第一天)
  16. CSS选择器的优先级计算
  17. pycharm 的live_template的使用
  18. windows主题Mac OS 风格 BigSur主题美化
  19. 求最大公约数与最小公倍数算法——Java
  20. Android性能优化学习记录(二)稳定性与内存优化

热门文章

  1. react-native 集成极光推送jpush-react-native时的小问题
  2. html onclick的方法里用js的变量
  3. Manacher 求最长回文子串算法
  4. php动态修改配置文件
  5. python学习笔记(生成xml)
  6. linux android ndk r9b JNI 开发过程(COCOS2D-X配置)
  7. js---html元素操作
  8. 笔迹鉴别(5) —— 笔迹判别
  9. mysql知识总结体会博客_可能是全网最好的MySQL重要知识点/面试题总结||CSDN博客精选...
  10. python 写入网络视频文件很慢_用Python将数据写入LMDB非常慢