当前位置: 首页 > news >正文

松北建设局网站深圳网站建设小程序天安云谷

松北建设局网站,深圳网站建设小程序天安云谷,中国建设网站轨道自检验收报告表,51社社播放器本文介绍使用Jenkins一键将NodeJS#xff08;Vue#xff09;前端项目打包并上传到生产环境服务器#xff0c;这里使用的是直接打包静态页面#xff0c;发送到远程服务器Nginx配置目录的方式#xff0c;首先确保服务器环境配置好#xff0c;安装Nginx#xff0c;运行目录…  本文介绍使用Jenkins一键将NodeJSVue前端项目打包并上传到生产环境服务器这里使用的是直接打包静态页面发送到远程服务器Nginx配置目录的方式首先确保服务器环境配置好安装Nginx运行目录日志存放目录等。 一、服务器环境配置 Nginx安装也有多种方式源码安装、yum安装、Docker安装等安装并不复杂我们这里采用Docker安装的方式由于习惯于标准化及存档方便在不同服务器部署相同的环境我们这里使用了Docker Compose来定义Nginx容器配置信息。 1. Nginx的docker-compose-nginx.yml定义文件编写 Docker及Docker Compose安装配置前面有详细介绍这里不再赘述以下是Nginx容器的Docker Compose定义文件内容 version: 3 services:##nginx配置nginx:image: nginx:latestrestart: alwayscontainer_name: nginxenvironment:- TZAsia/Shanghaiports:#端口映射前面是宿主机端口后面是服务端口- 80:80- 443:443volumes:- /data/container/nginx/html:/nginx/html- /data/container/nginx/www:/var/www- /data/container/nginx/logs:/var/log/nginx- /data/container/nginx/etc:/etc/nginx- /data/container/nginx/etc/nginx.conf:/etc/nginx/nginx.conf- /etc/localtime:/etc/localtime- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone#若用到ssl可以引入- /bxl/container/nginx/ssl:/nginx/ssl部分参数说明 ports端口映射前面是宿主机端口后面是容器内部服务端口volumes目录映射前面是宿主机目录后面是容器内部目录 2. 部署及备份目录准备 新建 /opt/tmp 目录用于Jenkins打包后通过 Publish Over SSH插件将包传输到服务器的临时目录如果前面创建过这里无需再创建。新建 /opt/bak 目录用于存储所有部署过的包备份方便后续版本回滚。此目录可能会占用很大空间所以需要选择一个磁盘空间大的挂载目录如果前面创建过这里无需再创建。新建 /opt/script 目录用于Jenkins将包传输完成之后执行安装、备份操作的相关命令脚本如果前面创建过这里无需再创建。新建 /data/container/nginx/html用与存放发布后的静态页面。新建 /data/container/nginx/www映射Nginx容器内的/var/www目录。新建 /data/container/nginx/logs映射Nginx容器内的/var/log/nginx目录存放nginx运行日志。新建 /data/container/nginx/etc映射Nginx容器内的/etc/nginx目录新建 /data/container/nginx/etc/nginx.conf映射Nginx容器内的/etc/nginx/nginx.conf配置文件新建 /bxl/container/nginx/ssl映射Nginx容器内的/nginx/ssl目录 mkdir -p /opt/tmp /opt/bak /opt/script /data/container/nginx/html /data/container/nginx/www /data/container/nginx/logs /data/container/nginx/etc /bxl/container/nginx/ssl chmod -R 777 /opt/tmp /opt/bak /opt/script /data/container/nginx/html /data/container/nginx/www /data/container/nginx/logs /data/container/nginx/etc /bxl/container/nginx/ssl3.根据系统部署要求编写Nginx配置文件nginx.conf以下是简单的配置方法正常情况下https请求还需要配置ssl证书还有ipv6配置等后面详细讲解Nginx配置。一定要将修改后的nginx.conf文件放到/data/container/nginx/etc/目录下否则nginx启动时会报错找不到配置文件。 server {listen 80;server_name 域名;gzip on;gzip_buffers 32 4K;gzip_comp_level 6;gzip_min_length 100;gzip_types application/javascript text/css text/xml text/plain application/x-javascript image/jpeg image/gif image/png;gzip_disable MSIE [1-6]\.; gzip_vary on;#charset koi8-r;access_log /var/log/nginx/portal.access.log main;location / {root /nginx/html/gitegg_portal;try_files $uri $uri/ /index.html;index index.html index.htm;}location /gitegg-api/ {proxy_set_header Host $http_host; proxy_set_header X-Real-Ip $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://172.17.0.1:8080/;}}4. 部署脚本编写说明 定义入参可以通过Jenkins任务将参数传入脚本中我们定义了下面2个参数 project_name“portal” 服务名称 portal_home“/data/container/nginx/html” 静态页面路径 对参数进行检查是否未传入参数这里根据自己的实际情况判断比如必须传入哪些参数就设置参数的个数不能小于几。 #param validate if [ $# -lt 1 ]; then echo you must use like this : ./publish_portal.sh project_namename [portal home dir] exit fi入参赋值如果有参数传入则取服务参数如果没有参数传入则取默认值 if [ $1 ! ]; thenproject_name$1 fi if [ $2 ! ]; thenportal_home$2 fi删除原部署的静态文件解压当前发布包 # 删除 rm -rf $portal_home/index.html $portal_home/favicon.ico $portal_home/_app.config.js $portal_home/logo.png $portal_home/resource/ $portal_home/assets/ # 解压 cd /opt/tmp/portal tar -zxvf portal.tar.gz 备份当前发布的静态文件包 #bak project_name BAK_DIR/opt/bak/portal/$project_name/date %Y%m%d mkdir -p $BAK_DIR cp /opt/tmp/portal/portal.tar.gz $BAK_DIR/$project_name_date %H%M%S.tar.gz #remove tmp rm -rf portal.tar.gz将解压的静态文件copy到Nginx目录下 #copy portal code cp -r * $portal_home删除临时文件 #remove tmp rm -rf index.html favicon.ico _app.config.js logo.png resource assets打印执行完成的命令 echo Portal is starting,please try to access $project_name conslone url完整的安装部署脚本 project_nameportal portal_home/data/container/nginx/html #param validate if [ $# -lt 1 ]; then echo you must use like this : ./publish_portal.sh project_namename [portal home dir] exit fi if [ $1 ! ]; thenproject_name$1 fi if [ $2 ! ]; thenportal_home$2 fiecho portal code copy #publish project_name echo $project_name publishing rm -rf $portal_home/index.html $portal_home/favicon.ico $portal_home/_app.config.js $portal_home/logo.png $portal_home/resource/ $portal_home/assets/ cd /opt/tmp/portal tar -zxvf portal.tar.gz #bak project_name BAK_DIR/opt/bak/portal/$project_name/date %Y%m%d mkdir -p $BAK_DIR cp /opt/tmp/portal/portal.tar.gz $BAK_DIR/$project_name_date %H%M%S.tar.gz #remove tmp rm -rf portal.tar.gz #copy portal code cp -r * $portal_home #remove tmp rm -rf index.html favicon.ico _app.config.js logo.png resource assets #start portal echo Portal is starting,please try to access $project_name conslone url将部署脚本上传到服务器的/opt/script目录下并赋予可执行权限 chmod 755 publish_portal.sh二、新建Jenkins配置打包任务部署打包后的Vue页面 1. Dashboard 新建任务输入任务名称选择“构建一个自由风格的软件项目”点击确定。 2. 项目配置进入到任务配置页 丢弃旧的构建 这里在保持构建的最大个数填写5当然可以根据自己情况填写否则旧的构建包会一直存在占用磁盘空间。 源码管理配置git代码地址、用户名密码和版本分支如果是需要用户名密码的git库那么下面需要选择访问的用户名密码这里一定要使用用户名密码方式使用token的方式无法选中。可以在下方add也可以在Jenkins全局Credentials 中添加方便其它任务使用。 构建触发器可选可不选这个根据自己的需求选择任务在什么情况下出发构建。 构建环境这里选择Provide Node npm bin/ folder to PATH选择我们在系统配置中配置的Node版本。 Build Steps选择执行shell在shell窗口中输入需要执行的打包命令。 shell脚本完整内容 echo $PATH node -v pnpm -v pnpm install pnpm run build cd dist rm -rf portal.tar.gz tar -zcvf portal.tar.gz * cd ../构建后操作选择构建后将包发送到服务器 Post Steps将打包后的文件发送到服务器并执行设置好的脚本这里选择Run only if build succeeds当构建成功时Post。 Exec command将打好的包发布到环境之后在环境上执行的部署脚本命令。/opt/script/publish_portal.sh 是脚本文件、portal 是项目名称、/data/container/portal 是前端代码存放路径。 /opt/script/publish_portal.sh portal /data/container/portal3. 运行构建任务 立即构建 查看构建日志点击立即构建之后下方会出现进度条点击进度条就可以进入构建日志界面。 4. 构建成功后下方会给出构建成功提示此时登录远程服务器查看文件是否部署成功即可。
http://www.w-s-a.com/news/455503/

相关文章:

  • 男女做羞羞的事情网站30岁转行做网站编辑
  • 做企业网站的轻量级cmswordpress 越来越慢
  • 无锡中英文网站建设莱芜网络公司
  • ps软件下载官方网站相关搜索优化软件
  • 世界杯网站源码下载做网站推广代理
  • 用股票代码做网站的wordpress通过标签调用文章
  • iis添加网站ip地址树莓派运行wordpress
  • 网站空间域名多少钱宿迁做网站公司
  • 福州建设企业网站网站交互主要做什么的
  • 英文网站建设方法门户网站特点
  • 腾讯云备案 网站名称萧山城市建设网站
  • 漳浦网站建设网络营销推广策略
  • 龙岗商城网站建设教程百度关键词排名突然没了
  • 深圳网站建设服务哪家有织梦网站模板安装
  • 网站设计与网页制作代码大全网站开发还找到工作吗
  • 给设计网站做图会字体侵权吗站长工具seo综合查询张家界新娘
  • 网站的建设与颜色搭配win7在iis中新建一个网站
  • 单位做网站有哪些功能型类的网站
  • 网站怎样做优惠卷移动互联网开发培训
  • 重庆网站建设帝维科技网站做定向的作用
  • 网站建设工作室wp主题模板做污事网站
  • 网站建设 深圳 凡科重庆家居网站制作公司
  • 自己也可以免费轻松创建一个网站企业收录网站有什么用
  • 帮别人做网站违法导航网站开发工具
  • seo网站外包公司字画价格网站建设方案
  • 网站国内空间价格销售技巧
  • 广安建设企业网站qq互联网站备案号
  • 京东网站建设的要求vs2010做的网站
  • wordpress 新闻杂志主题佛山企业网站排名优化
  • 选服务好的网站建设金华市开发区人才网