通过docker部署jenkins

通过docker部署jenkins

月光魔力鸭

2023-05-25 11:47 阅读 373 喜欢 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
mysql数据库插入double类型确没有小数点
小程序需要用到用户的手机号码,看了下API 以及相关的demo,基本都是服务端进行解密的,问题是需要的参数并没有用到secret,只需要 session_key / iv /encryptedData 即可,那完全可以在客户端进行处理啊。
ubuntu 配置nginx反向代理,这里简单记录下,后续再复习..
前一阵子做了个图床,可以粘贴上传,查看服务器上的文件... 但是自己的服务器总是有问题..空间还小,就怕哪天没钱续费了。同事昨天想要一个七牛的图床,在网上找了下,只找到了 qiniu upload files插件,自己使用了下,挺好用,但是没有复制粘贴
需求:可能会有在页面加载的时候想执行某个js,例如统计页面的DOM等等。
通过frp做穿透实现https 访问本地http项目。
docker build 执行yum失败,找不到repo
很久之前学习chrome扩展插件的时候已经做过一个了,好久没咋用,最近又跑了一个存储服务,准备在配合这个服务做个图床,以后就用这个了,之前的服务器到期忘了迁移数据都没了,这次换了服务器,在家里了,估计以后不会再做了吧,这个算是最后一个了,有啥问题就在这个进行优化了。