通过docker部署jenkins

通过docker部署jenkins

月光魔力鸭

2023-05-25 11:47 阅读 331 喜欢 0

最近先研究下jenkins远程部署,在自己服务器上跑一个先,简单记录下碰到的问题。

docker 安装jenkins

官网下载:https://www.jenkins.io/download/ docker安装文档:https://github.com/jenkinsci/docker/blob/master/README.md

最后我是使用docker-compose来进行部署的。

docker compose

version : "3.7"

services:
  jenkins:
    image: jenkins/jenkins:lts-jdk11
    container_name: jenkins
    restart: always
    user: root
    ports:
      - "8374:8080"
    volumes:
      - ./home:/var/jenkins_home
    environment:
      - URL=http://xxx.com
    networks:
      - jenkins_web
networks:
  jenkins_web:
    driver: bridge

要注意的是 user ,如果不添加jenkins用户的话,是会报错的Permission问题。这里指定root用户就可以了。 或者使用该方案解决。https://developer.aliyun.com/article/53990

启动jenkins

docker compose up -d

反向代理

由于服务器是本地的,我的端口跟宿主机的端口并不一致,所以nginx的配置也需要注意。

server {
  listen 80;
  server_name xxx.com;

  location / {
    proxy_pass http://localhost:8374;
    proxy_redirect     default;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-Host $host:8888;

    # Required for Jenkins websocket agents

    proxy_set_header   Host              $host:8888;
    proxy_set_header   X-Real-IP         $remote_addr;
    proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Proto $scheme;
    proxy_max_temp_file_size 0;

    #this is the maximum upload size
    client_max_body_size       10m;
    client_body_buffer_size    128k;

    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;
    proxy_buffering            off;
    proxy_request_buffering    off; # Required for HTTP CLI commands
    proxy_set_header Connection ""; # Clear for keepalive
  } 
}

此处可以参考: https://www.jenkins.io/doc/book/system-administration/reverse-proxy-configuration-nginx/ https://www.jenkins.io/doc/book/system-administration/reverse-proxy-configuration-troubleshooting/

关于jenkins中文的问题

进入jenkins设置

找到locale插件并安装

插件安装完后重启下,然后继续安装中文

选择中文

这一步感觉有点慢啊.. 好久了都没安装成功,安装完成后选择语言设置。

然后保存即可。

更换jenkins plugins 源站,这样安装插件会快一些

var /var/lib/jenkins/updates/ 下的default.json ,更换为清华的jenkins插件地址。https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

通过jenkin 远程服务器进行部署更新

安装publish over ssh 插件

安装完成后无在这里配置对应的参数。 一般通过密钥连接,可以指定密钥文件

源码通过github拉下来后,若有需要编译则进行编译,编译后可将文件在“构建后操作”中上传到服务器,并进行重启命令。

转载请注明出处: https://chrunlee.cn/article/docker-with-jenkins.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
docker build 执行yum失败,找不到repo
近期有添加数学公式的需求,找来找去,最后还是选择了最简单的。tinymce+kityformula
与python后端进行联调,后端协议为jsonrpc ,这里简单记录下jsonrpc的通用请求函数,并附带几个栗子
最近感觉docker挺好用的,由于测试服务器经常重装,这里先记录下compose文件,后边重装直接复制就行啦。
昨天客户发现了个小BUG,文章发布使用的ueditor, 上传视频的时候当时好好的,后来怎么就是播放不了?
通过frp做穿透实现https 访问本地http项目。
最近一直琢磨着做一个第三方统一登录的这么一个小东西,虽然网上其实也挺多的.. 不过造轮子的感觉还是很爽的。 QQ /Github 比较简单,申请下就OK 了.. 微信真不是个东西,得花钱。
反爬有很多手段,字体反爬就是其中之一。之前一直都是听过,但是却没怎么在实际爬虫中遇到过,最近在一个爬虫题目网站上看到了,试了试,发现还挺麻烦,当然自己从头研究字体肯定麻烦,简单的是模块多的是,选几个就过了。