daily-share icon indicating copy to clipboard operation
daily-share copied to clipboard

jekins+docker构建部署react 踩坑记录(2022-1-29)

Open yaogengzhu opened this issue 3 years ago • 9 comments

参考文档: 微医前端团队

jenkens安装问题

当我们使用方法

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

遇到以下错误:

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
No package jenkins available.

解决方案:

sudo yum install -y ca-certificates

yaogengzhu avatar Jan 29 '22 03:01 yaogengzhu

修改jenkens 默认端口 找到 jenkins.war 目录

java -jar jenkins.war --ajp13Port=-1 --httpPort=8989

方式2

sudo vim /etc/sysconfig/jenkins

找到端口 修改

yaogengzhu avatar Jan 29 '22 03:01 yaogengzhu

linux命令行操作jenkins

service jenkins start # 启动jenkins
service jenkins restart # 重启jenkins
service jenkins stop # 关闭jenkins

yaogengzhu avatar Jan 29 '22 03:01 yaogengzhu

【如何配置多个https 服务 】

参考文章

yaogengzhu avatar Jan 29 '22 06:01 yaogengzhu

我的docker 配置代码

docker run --privileged -it -d -p 81:80 --name manage -v /usr/home/manage/www:/usr/share/nginx/html -v /usr/home/manage/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/home/manage/logs:/var/log/nginx nginx

docker run --privileged -it -d -p 82:80 --name yaogengzhu -v /usr/home/yaogengzhu/www:/usr/share/nginx/html -v /usr/home/yaogengzhu/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/home/yaogengzhu/logs:/var/log/nginx nginx
docker run --privileged -it -d -p 80:80 -p 443:443 --name nginx -v /usr/home/nginx/www:/usr/share/nginx/html -v /usr/home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/home/nginx/logs:/var/log/nginx -v /usr/home/nginx/cert:/etc/nginx nginx

yaogengzhu avatar Jan 29 '22 15:01 yaogengzhu

react nginx 部署 404

参考地址

我的配置


user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
	server {
        listen 80; #监听的容器内的端口
        # server_name xxx.com; #做好映射的域名
        server_name xxxx:81; #或者本机的IP
        location / {
            root /usr/share/nginx/html; #静态资源在实际容器中的路径
            index index.htm index.html;
            try_files $uri $uri/ /index.html;
            rewrite ^/(.*)/(.*\.js$) /$1/$2 break;
            rewrite ^/(.*)/(.*\.map$) /$1/$2 break;
            rewrite ^/(.*)/(.*\.css$) /$1/$2 break;
            rewrite ^/(.*)/(.*\.(png|jpg|gif)$) /$1/$2 break;
            rewrite ^/(.*)/(.*\.(ttf|woff|woff2|svg|otf|eot)$) /$1/$2 break;
            rewrite ^/(.*)/ /$1/index.html break;
        }
    }


    # include /etc/nginx/conf.d/*.conf;
}

yaogengzhu avatar Jan 30 '22 08:01 yaogengzhu

补充Jenkins 指定分支打包

地址

yaogengzhu avatar Feb 01 '22 13:02 yaogengzhu

docker nginx 代理配置

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    #include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

    server {
        listen       443 ssl;
        listen       80;
        listen  [::]:80;
        server_name  www.s.yaogeng.top s.yaogeng.top;

        ssl_certificate      7181546_s.yaogeng.top.pem;  # pem文件的路径
        ssl_certificate_key  7181546_s.yaogeng.top.key; # key文件的路径

                location / {
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_pass http://*****:81;
                }
    }

    server {
                 listen       443 ssl;
        listen       80;
        listen  [::]:80;
        server_name  www.yaogeng.top yaogeng.top;

        ssl_certificate      6588669_www.yaogeng.top.pem;  # pem文件的路径
        ssl_certificate_key  6588669_www.yaogeng.top.key; # key文件的路径

                location / {
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_pass http://*****:82;
        }
    }

    server {
                listen       443 ssl;
        listen       80;
        listen  [::]:80;
        server_name  www.jenkins.yaogeng.top jenkins.yaogeng.top;

        ssl_certificate      7191375_jenkins.yaogeng.top.pem;  # pem文件的路径
        ssl_certificate_key  7191375_jenkins.yaogeng.top.key; # key文件的路径

                location / {
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_pass http://****:8989;
        }
    }

    server {
                listen       443 ssl;
        listen       80;
        listen  [::]:80;
        server_name  www.api.yaogeng.top api.yaogeng.top;

        ssl_certificate      6590301_api.yaogeng.top.pem;  # pem文件的路径
        ssl_certificate_key  6590301_api.yaogeng.top.key; # key文件的路径

                location / {
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_pass http://*******:3000;
        }
    }
}

yaogengzhu avatar Feb 26 '22 04:02 yaogengzhu

补充一个nginx 启动 文件映射的操作

https://blog.csdn.net/DPXXMT/article/details/117914728

yaogengzhu avatar Feb 03 '23 05:02 yaogengzhu

利用docker 部署jenkins

https://learnku.com/articles/39597

yaogengzhu avatar Feb 03 '23 11:02 yaogengzhu