通过docker部署jenkins

通过docker部署jenkins

月光魔力鸭

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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
国庆马上来临,头像已经先热起来了,为了蹭蹭热度,赶紧加班搞了一个。
之前看知乎相中了一个想法,给宝宝做一个站,上传生活的日常照片啊、视频之类的,存储肯定是在自己家里,然后做个穿透这样..开始做的时候又想着是时候接触下这些东西了,虽然公司都一点不用,但是自己没事接触下拓展下也是好的。
很久之前学习chrome扩展插件的时候已经做过一个了,好久没咋用,最近又跑了一个存储服务,准备在配合这个服务做个图床,以后就用这个了,之前的服务器到期忘了迁移数据都没了,这次换了服务器,在家里了,估计以后不会再做了吧,这个算是最后一个了,有啥问题就在这个进行优化了。
最开始其实只是网站的一个小改版,导致的需要发送邮件的功能,本身功能不复杂,不做工具的话,几行代码应该就可以搞定的.. 不过后来想想,这个功能应该还是有一定的小需求的,就做成了工具。
通过registry 自建 dockerhub
最近有一个任务一直在占满cpu, 总是会让我的服务器宕机,可是还得跑,想来想去想到了docker,印象中可以对cpu进行限制,这里简单记录下过程。
ubuntu 配置nginx反向代理,这里简单记录下,后续再复习..
小程序需要用到用户的手机号码,看了下API 以及相关的demo,基本都是服务端进行解密的,问题是需要的参数并没有用到secret,只需要 session_key / iv /encryptedData 即可,那完全可以在客户端进行处理啊。