Dockerfile  文件构建docker镜像

FROM centos
MAINTAINER zh********h.cn RUN rm -f /etc/nginx/nginx.conf
COPY nginx.conf /etc/nginx/nginx.conf WORKDIR / RUN mkdir data ADD nginx.repo /etc/yum.repos.d
RUN yum install nginx -y
RUN echo "daemon off;" >> /etc/nginx/nginx.conf RUN rm -rf /etc/nginx/conf.d/default.conf ADD pre.weifeng.conf /etc/nginx/conf.d/ COPY build /data/build RUN useradd -s /sbin/nologin -M www EXPOSE 443
EXPOSE 80 CMD ["nginx"]

  

nginx  配置文件    

cat pre.weifeng.conf 

server {

        listen       443;
server_name localhost; location / {
try_files $uri /index.html;
root /data/build;
index index.html index.htm;
} error_page 404 /404.html;
error_page 404 = https://pre.weifeng.cn/index.html; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
access_log off;
expires 10d;
root /data/build;
} location ~ \.(js|css)
{
access_log off;
expires 10d;
root /data/build;
} } server {
listen 80;
server_name pre.weifeng.cn;
return 301 https://pre.weifeng.cn$request_uri; }

  

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

#!/bin/bash

source /etc/profile

cd /mnt/workspace/official-ui-pre/

npm i && npm run build 

rm -rf /mnt/workspace/official-ui-pre/dockerfile/build

cd /mnt/workspace/official-ui-pre/dockerfile

mv  ../build  .

sudo docker build -t pre-official-ui -f Dockerfile.pre .

sudo docker login --username=***** -p ******* registry-vpc.cn-hangzhou.aliyuncs.com

sudo docker tag pre-official-ui registry-vpc.cn-hangzhou.aliyuncs.com/weifeng-system/pre-official-ui

sudo docker push  registry-vpc.cn-hangzhou.aliyuncs.com/weifeng-system/pre-official-ui

curl https://cs.console.aliyun.com/hook/trigger?*****************U0pM7Vd60sO3BESRlnjd46F7_wlxcXPKjS8t7k

if [ $? -eq 0 ]; then
echo -e "\033[32m[ the application official-ui-pre successfully deployed ]\033[0m" else
echo -e "\033[31m\033[01m[ the application official-ui-pre deploy failed ]\033[0m" fi

  

第二种方式:

dockefile:

FROM nginx:1.15.10-alpine
COPY dist /usr/share/nginx/html

  

执行Shell :

SERVICE_NAME=dev-platform-nginx
TAG=0.1.${BUILD_NUMBER} REGISTRY=registry-vpc.cn-hangzhou.aliyuncs.com
REGISTRY_NAMESPACE=weifeng IMAGE=$REGISTRY/$REGISTRY_NAMESPACE/$SERVICE_NAME:$TAG npm i && npm run build docker build -t $IMAGE .
docker push $IMAGE kubectl set image -n weifeng-test deployment/$SERVICE_NAME $SERVICE_NAME=$IMAGE

  

nginx.conf ,   和nginx 配置文件通过阿里云k8s 配置项挂载方式进行配置。

Dockerfile 构建前端nginx应用并用shell脚本实现jenkins自动构建的更多相关文章

  1. Dockerfile 构建前端node应用并用shell脚本实现jenkins自动构建

    cat Dockerfile.node.pre FROM centos MAINTAINER zhao*******h.cn ENV LANG en_US.UTF-8 RUN /bin/cp /usr ...

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

    Dockerfile 文件构建docker镜像 FROM centos MAINTAINER zh*****eng "z*******ch.cn" ENV LANG en_US.U ...

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

    Dockerfile 文件构建docker镜像 FROM centos MAINTAINER zhaoweifeng "zh******tech.cn" ENV LANG en_U ...

  4. 自动化部署-从maven到shell脚本到jenkins

    Java代码自动部署 [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java代码的发布部署也是 ...

  5. 小伙伴想学Jenkins自动构建发布项目,我:安排上了!!

    写在前面 趁着十一长假,很多小伙伴都在悄悄学习,有些是为了能够顺利通过面试,进入大厂升职加薪.有些则是为了进一步巩固和提高自己的专业技能,希望有朝一日能过成为互联网架构师乃至技术专家.这不,就有小伙伴 ...

  6. Gitlab使用Webhook实现Push代码后的jenkins自动构建

    本文出自https://www.cnblogs.com/kevingrace/p/6479813.html 怕以后找不到,所以先写到自己博客中 Gitlab利用Webhook实现Push代码后的jen ...

  7. Gitlab源码库里代码提交后,如何触发jenkins自动构建?

    版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...

  8. 使用Docker+Jenkins自动构建部署

    环境 Windows 10 Docker Version 18.06.1-ce-win73 (19507) 运行jenkins 运行jenkins 容器 docker run -d --name ln ...

  9. 实战:向GitHub提交代码时触发Jenkins自动构建

    当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...

随机推荐

  1. IOS开发之自定义UITabBarController

    UITabBarController是开发中经常会用到的一个视图控制器,但是默认的UITabBarController经常不能够完全满足我们的需求,所以我们经常需要自定义一个UITabBarContr ...

  2. UML图中聚合、组合、关联、依赖、泛化的强弱关系

    一.泛化 1.说明 泛化是一种继承关系,如果一个类A的所有属性和操作能被另一个类B所继承,则类B不仅可以包含自己独有的属性,而且可以包含类A的属性和操作.继承是类与类或者类与接口之间最常见的关系. 2 ...

  3. elasticsearch6.0版本安装head插件

    ES6.0版本安装head插件 1.1 前言 不知道是我电脑问题还是最近的开源软件都比较**,mysql和elasticsearch新版本变动都比较大. elasticsearch6.0貌似已经不支持 ...

  4. 【Spark】SparkStreaming-提交到集群运行

    SparkStreaming-提交到集群运行 spark streaming 提交_百度搜索 SparkStreaming示例在集群中运行 - CSDN博客

  5. Mahout初体验

    Mahout运行版本: mahout-0.5, mahout-0.6, mahout-0.7,是基于hadoop-0.20.2x的. mahout-0.8, mahout-0.9,是基于hadoop- ...

  6. JAVA-SpringMVC基于注解模式第一个应用

    项目文件结构 1. web.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <web-app x ...

  7. (转)Unity3D研究院之Assetbundle的原理(六十一)

    Assetbundle 是Unity Pro提供提供的功能,它可以把多个游戏对象或者资源二进制文件封装到Assetbundle中,提供了封装与解包的方法使用起来很便利. 1.预设          A ...

  8. 有用的java工具

    1.Jsoup html页面解析 2.FastJson java中json处理工具,类似于gson 3.jodd 类似于apache commons的一些常用工具集 4.Selenium IDE we ...

  9. 【Android开发VR实战】二.播放360&#176;全景视频

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53924006 本文出自[DylanAndroid的博客] [Android开发 ...

  10. iOS的settings bundle中开关button(Toggle Switch)取不到值的问题

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 在Xcode7.2中设置App的settings bundle ...