Dockerfile 构建前端nginx应用并用shell脚本实现jenkins自动构建
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自动构建的更多相关文章
- Dockerfile 构建前端node应用并用shell脚本实现jenkins自动构建
cat Dockerfile.node.pre FROM centos MAINTAINER zhao*******h.cn ENV LANG en_US.UTF-8 RUN /bin/cp /usr ...
- Dockerfile 构建后端springboot应用并用shell脚本实现jenkins自动构建
Dockerfile 文件构建docker镜像 FROM centos MAINTAINER zh*****eng "z*******ch.cn" ENV LANG en_US.U ...
- Dockerfile 构建后端tomcat应用并用shell脚本实现jenkins自动构建
Dockerfile 文件构建docker镜像 FROM centos MAINTAINER zhaoweifeng "zh******tech.cn" ENV LANG en_U ...
- 自动化部署-从maven到shell脚本到jenkins
Java代码自动部署 [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java代码的发布部署也是 ...
- 小伙伴想学Jenkins自动构建发布项目,我:安排上了!!
写在前面 趁着十一长假,很多小伙伴都在悄悄学习,有些是为了能够顺利通过面试,进入大厂升职加薪.有些则是为了进一步巩固和提高自己的专业技能,希望有朝一日能过成为互联网架构师乃至技术专家.这不,就有小伙伴 ...
- Gitlab使用Webhook实现Push代码后的jenkins自动构建
本文出自https://www.cnblogs.com/kevingrace/p/6479813.html 怕以后找不到,所以先写到自己博客中 Gitlab利用Webhook实现Push代码后的jen ...
- Gitlab源码库里代码提交后,如何触发jenkins自动构建?
版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...
- 使用Docker+Jenkins自动构建部署
环境 Windows 10 Docker Version 18.06.1-ce-win73 (19507) 运行jenkins 运行jenkins 容器 docker run -d --name ln ...
- 实战:向GitHub提交代码时触发Jenkins自动构建
当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...
随机推荐
- Asp.Net验证控件浅析
ASP.NET公有六种验证控件,分别如下: 控件名 功能描叙 RequiredFieldValidator(必须字段验证) 用于检查是否有输入值 CompareValidato ...
- CListCtrl 之右键菜单
在使用CListCtrl时要为它添加一个右键菜单,步骤如下: 1. 响应CListCtrl的NM_RCLICK消息. 2. 添加一个菜单资源,在菜单资源中插入要添加到菜单内容. 一般存在两种方法: ...
- 用网站(WebSite而不是WebProject)项目构建ASP.NET MVC网站
从ASP.NET MVC第一个版本开始到现在,创建ASP.NET MVC项目的官方方法只有一个,“文件”->“新建”->“项目”,然后选择ASP.NET MVC X Web应用程序. 这种 ...
- Android教材 | 第三章 Android界面事件处理(二)—— 杰瑞教育原创教材试读
编者按 JRedu 杰瑞教育原创系列教材将于年后与大家正式见面.为更好的借鉴读者意见,我们将会陆续地在博客园推出一系列教材试读.我们也热忱的欢迎广大博友与我们互动,提出宝贵意见. 本篇博客将推出教材 ...
- Android面试题收集
Android是一种基于Linux的自由及开放源码的操作系统,主要使用于移动设备.如智能手机和平板电脑.由Google公司和开放手机联盟领导及开发.这里会不断收集和更新Android基础相关的面试题, ...
- 阿里云centos配置nginx和nodejs
今天新买了阿里云,想把网站跑起来,于是记录跑起来的过程 1.购买域名 2.购买解析 3.购买ecs主机 4.ssh登录主机 5.安装vsftpd 6.配置ftp用户.文件夹.权限 7.安装nginx/ ...
- HDU 1541 Stars (线段树)
Problem Description Astronomers often examine star maps where stars are represented by points on ...
- 关闭Pycharm拼写检查
转载: https://blog.csdn.net/u013088062/article/details/50001189 Pycharm作为一款优秀的PythonIDE,唯一让我觉得不安的就是它的拼 ...
- windows命令行的使用,去掉"半"字
1.新启动一个命令行,如果当前sogou是中文输入法,输入之后,下面出现一个"半"字.切换到英文输入法,这个"半"字,也不会消失,怎么办? 先切换到英文输入法, ...
- 通过项目逐步深入了解Mybatis<一>
Mybatis Mybatis 和 SpringMVC 通过订单商品案例驱动 官方中文地址:http://www.mybatis.org/mybatis-3/zh/ 官方托管地址:https://gi ...