Dockerfile 构建后端tomcat应用并用shell脚本实现jenkins自动构建

Dockerfile  文件构建docker镜像

FROM centos
MAINTAINER zhaoweifeng "zh******tech.cn"

ENV LANG en_US.UTF-8

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo ‘Asia/Shanghai‘ >/etc/timezone

WORKDIR /home

RUN mkdir JDK

COPY jdk-8u181-linux-x64.tar.gz /home/

RUN tar zxf /home/jdk-8u181-linux-x64.tar.gz -C /home/JDK 

ENV JAVA_HOME /home/JDK/jdk1.8.0_181
ENV CATALINA_HOME /home/Tomcat/apache-tomcat-7.0.90
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

RUN mkdir Tomcat 
COPY apache-tomcat-7.0.90.tar.gz /home/
RUN tar zxf /home/apache-tomcat-7.0.90.tar.gz -C /home/Tomcat && rm -rf /home/apache-tomcat-7.0.90.tar.gz

ADD server.xml /home/Tomcat/apache-tomcat-7.0.90/conf/

COPY deploy_files /home/Tomcat/apache-tomcat-7.0.90/deploy_files

EXPOSE 8080

WORKDIR /home/Tomcat

ENTRYPOINT /home/Tomcat/apache-tomcat-7.0.90/bin/startup.sh && tail -f /home/Tomcat/apache-tomcat-7.0.90/logs/catalina.out

  

server.xml   部分内容

         <Context path="/" reloadable="true" docBase="/home/Tomcat/apache-tomcat-7.0.90/deploy_files" workDir="/home/Tomcat/apache-tomcat-7.0.90/deploy_files"  sessionCookieName="JSESSIONID1"/>

  

shell  脚本实现jenkins上自动构建阿里云k8s上应用

#!/bin/bash

mv  /mnt/workspace/deep-weifeng-bi-test/weifeng-web/target/weifeng-weifeng.war  /mnt/workspace/deep-weifeng-bi-test/dockerfile/

cd /mnt/workspace/deep-weifeng-bi-test/dockerfile/

rm -rf deploy_files

unzip -oq weifeng-weifeng.war  -d deploy_files 

sudo docker build -t weifeng-bi-test -f Dockerfile.test .

sudo docker login --username=***** -p ****** registry-vpc.*******liyuncs.com

sudo docker tag weifeng-bi-test registry-vpc.cn-******aliyuncs.com/weifeng-system/weifeng-bi-test

sudo docker push  registry-vpc*******.aliyuncs.com/weifeng-system/weifeng-bi-test

curl https://cs.console.aliyun.com/hook********************************I58ehpQRSBrb-JtS3yo83qMmu3AH6ptMXlXjpCUTQfClyZLbEgokE

if [ $? -eq 0 ]; then
   echo -e "\033[32m[ the application deep-weifeng-bi-test successfully deployed  ]\033[0m"

else
    echo -e "\033[31m\033[01m[ the application deep-weifeng-bi-test deploy failed  ]\033[0m"

fi

  

原文地址:https://www.cnblogs.com/weifeng1463/p/10355895.html

时间: 2024-10-22 06:40:37

Dockerfile 构建后端tomcat应用并用shell脚本实现jenkins自动构建的相关文章

Dockerfile 构建后端springboot应用并用shell脚本实现jenkins自动构建

Dockerfile 文件构建docker镜像 FROM centos MAINTAINER zh*****eng "z*******ch.cn" ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone WORKDIR /home RUN mkdir JDK COPY jdk-8u

shell脚本实现ssh自动登录远程服务器示例

本文转载自 懒惰的肥兔 :http://www.xuanhao360.com/linux-expects/ shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh [email protected] expect "*password:" send "123\r" expect "*#" interact Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使

Linux+Jenkins自动构建服务器包

何时使用: 测试过程中我们需要持续构建一个软件项目,为避免重复的手动下载.解压操作,我们需要搭建一个能够自动构建的测试环境,当代码有更新时,测试人员只需点一下[构建]即可拉取最新的代码进行测试(也可设置自动构建时间) 操作步骤: 1.在jenkins上构建好一个项目后,先把该项目对应的war包下载下来 2.登录linux服务器,在上面创建一个项目文件夹,比如我创建一个名为"ynwl"的文件夹 3.把linux版本的tomcat包上传至ynwl文件夹,并解压 4.修改server.xml

手工触发jenkins自动构建

手工触发jenkins自动构建 点击项目的配置 2. 设置手工构建连接 3.在浏览器里输入来触发jenkins的项目构建

码云Webhook触发Jenkins自动构建 - Jenkins演练(一)

今天自己看着插件文档摸索了一下,实现了git push后Webhook自动触发Jenkins进行代码构建,可通用gitlab.github等平台,中文关于这方面自动部署的文档比较少,所以把我的学习过程记录下来,让其他人少走点弯路. 模拟场景:开发人员在dev分支提交代码后,Jenkins自动构建和部署,非dev分支提交代码不会触发. 实战环境:码云(git.oschina.net).Jenkins(可在公网访问).插件Generic Webhook Trigger 步骤1: 码云新增一个项目,新

自动清除过期的Tomcat日志的shell脚本

(友好提示:本文属于初级shell编程,高手可忽略此文) 在产品环境运行过程中,每天会切割产生按天计的日志文件,这些日志文件一般在过一定期限以后就没什么用处了,因此需要定期删除掉这些过期的日志文件.本文以CentOS下的Tomcat为应用环境基础,通过shell脚本的方式定时自动删除过期的Tomcat日志文件,以减少磁盘空间的占用.减轻管理员的日常工作. 一.shell脚本代码: #!/bin/bash # # filename: clearExpiredTomcatLogs.sh # # FU

shell脚本中实现自动判断用户有无密码

在最近完成老师布置的作业的时候遇到了如何让shell脚本中的命令自动判断一个用户是否已设置密码的问题,虽然看似不是很难的一个问题,但是在这一功能实现的过程中却包含了许多细小的而重要的知识.刚开始小编对此很是头疼,虽然我们查看一个用户是否有密码并不是很难,直接cat /etc/shadow这个文件看看密码位是否有加密的字符就行了,但是让命令自己去判断和匹配就不是很顺利了,小编上网查看后,并没有得到很好的答案,大多数都是人工查看的答案,并不适用于shell脚本中自动的判断,所以在认真对比/etc/p

Linux Shell脚本之远程自动部署java maven项目

脚本功能: 自动从git上获取java maven项目工程源码,在机器A上build,build完成后,将Class文件和配置文件等上传到机器B,重新启动机器B上的服务以便变更生效. 脚本特点: 1.(与之前的自动部署脚本相比)全新优化了脚本代码,更friendly,结构更紧凑 2.Public header删除了无用或者不好用的有色彩显示函数,并修正了WORKDIR不是绝对路径可能导致的bug 3.修正了域名解析判断是否正常的一个bug,该bug可能导致遇到无法解析后不断尝试解析 4.全新的m

用shell脚本实现监控程序自动重启

很少用shell脚本,最近在写一个shell脚本,遇到一些问题,竟然被折腾了半天.这些错误太低级了,不应该.趁现在有时间,将执行该shell的脚本的整个过程记录下来,方便以后作为参考. 一.我们先看看编写的shell脚本的内容,该shell的作用主要是实现监控某个程序崩溃之后就自动重启该进程. #!/bin/bash while true do procnum=` ps -ef|grep "test"|grep -v grep|wc -l` if [ $procnum -eq 0 ];