jenkins + gitflow流程 实现一键自动发布(服务器的知识)
先配置dev2的免密登陆和跳转(对应jenkins上的 例如:wangateway )
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210122160935461.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d6d3d6d3d3dw==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210122161709656.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d6d3d6d3d3dw==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210122161802324.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d6d3d6d3d3dw==,size_16,color_FFFFFF,t_70)
以上两个是home/dev2 下 dev的脚本命令,jenkins实际执行的就是这个
以下几个是开发人员登陆到服务器看的,脚本差不多一样
nginx的docker启动:
docker run \
--name=nginx \
--hostname=iZ8vbbq5i0f69sglswx8ddZ \
--env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
--env=NGINX_VERSION=1.19.2 \
--env=NJS_VERSION=0.4.3 \
--env='PKG_RELEASE=1~buster' \
--volume=/opt/dockervols/nginx/ssl:/etc/nginx/ssl \
--volume=/opt/dockervols/nginx/logs:/var/log/nginx \
--volume=/opt/dockervols/nginx/nginx.conf:/etc/nginx/nginx.conf \
--volume=/opt/dockervols/nginx/html:/usr/share/nginx/html \
--volume=/opt/dockervols/nginx/conf.d:/etc/nginx/conf.d \
--network=host \
--expose=80/tcp \
--restart=always \
--label='maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>' \
--log-opt max-size=100m \
--log-opt max-file=3 \
--detach=true \
nginx:1.19 \
nginx -g 'daemon off;'
conf.d/default.conf 文件内容
#正式环境-微信端
server {
listen 80;
server_name www.dr2dr.cn;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl;
server_name www.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
access_log /var/log/nginx/www.access.log main;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass http://127.0.0.1:30080;
#root /usr/share/nginx/html/www/;
}
}
#正式环境-管理后台
server {
listen 80;
server_name admin.dr2dr.cn;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl;
server_name admin.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
access_log /var/log/nginx/admin.access.log main;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
rewrite ^(.*) https://www.dr2dr.cn/admin permanent;
#root /usr/share/nginx/html/admin/;
}
}
#正式环境-api接口
server {
listen 80;
listen 443 ssl;
server_name apiprod.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
location ~^/bt/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass https://127.0.0.1:38088;
#proxy_ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
#proxy_ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
}
}
#即将关闭
server {
listen 8088 ssl;
server_name api.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
location ~^/bt/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass https://127.0.0.1:38088;
#proxy_ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
#proxy_ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
}
}
#测试环境-api接口
server {
listen 80;
listen 443 ssl;
server_name apifrank.dr2dr.cn apitest.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
location ~^/bt/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass http://127.0.0.1:38085;
}
}
#开发环境-api接口
server {
listen 80;
listen 443 ssl;
server_name apidev.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
location ~^/bt/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass http://127.0.0.1:38086;
}
}
#郑小伟临时测试用api
server {
listen 443 ssl;
server_name apitest1.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
location ~^/bt/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass https://127.0.0.1:38087;
#proxy_ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
#proxy_ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
}
}
#jenkins自动发布api
server {
listen 80;
listen 443 ssl;
server_name apiautotest.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
location ~^/bt/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass http://127.0.0.1:38089;
}
}
#可道云
server {
listen 80;
server_name ftp.dr2dr.cn;
access_log /var/log/nginx/ftp.access.log main;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Real-Ip $remote_addr;
proxy_pass http://127.0.0.1:38082/kodexplorer/;
}
}
#禅道,不这样会有问题
server {
listen 80;
server_name zentao.dr2dr.cn;
rewrite ^(.*) https://$server_name/zentao$1 permanent;
}
server {
listen 443 ssl;
server_name zentao.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
location /zentao {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass http://127.0.0.1:38081/zentao;
}
}
#测试环境-静态页面,使用二级目录
server {
listen 80;
listen 443 ssl;
server_name test.dr2dr.cn;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
proxy_intercept_errors on;
error_page 400 401 402 403 404 405 408 410 412 413 414 415 500 501 502 503 504 506 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location / {
access_log /var/log/nginx/frank.access.log main;
root /usr/share/nginx/html/frank/;
}
location ^~/frankadmin {
access_log /var/log/nginx/frankadmin.access.log main;
root /usr/share/nginx/html/;
}
location ^~/frank {
access_log /var/log/nginx/frank.access.log main;
root /usr/share/nginx/html/;
}
location ^~/devadmin {
access_log /var/log/nginx/devadmin.access.log main;
root /usr/share/nginx/html/;
}
location ^~/dev {
access_log /var/log/nginx/dev.access.log main;
root /usr/share/nginx/html/;
}
location ^~/autotestadmin {
access_log /var/log/nginx/autotestadmin.access.log main;
root /usr/share/nginx/html/;
}
location ^~/autotest {
access_log /var/log/nginx/autotest.access.log main;
root /usr/share/nginx/html/;
}
}
#默认返回403
server {
listen 80 default_server;
listen 443 ssl default_server;
server_name _;
ssl_certificate /etc/nginx/ssl/4313816__dr2dr.cn.pem;
ssl_certificate_key /etc/nginx/ssl/4313816__dr2dr.cn.key;
return 403;
}
vue静态文件 最终在这,对应环境的文件夹下面