【DevOps相关】安装Jenkins并配置插件

【本文目标】

  1. 使用docker pull拉取Jenkins镜像。
  2. 编写docker-compose文件,在docker中启动Jenkins。
  3. Jenkins UI Console set up(管理员),包括另外一些有用的插件,如git parameter, publish over ssh。
  4. 在Jenkins中配置JDK和Maven,以及Publish over SSH的目标服务器。

本机系统:MacOS
docker version:v1.0.23


1. 镜像下载

Jenkins下载地址:https://www.jenkins.io/download/
找到比较稳定的最新版本,截至我文章的时间,是version 2.332.3:

stable version

使用docker拉取镜像:

docker pull jenkins/jenkins:2.332.3-lts

image.png

2. 启动docker中的Jenkins

编写docker-compose.yaml文件:

version: "3.1"
services:
  jenkins:
    image: jenkins/jenkins:2.332.3-lts
    container_name: jenkins
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - ./jenkins_data/:/var/jenkins_home/

docker-compose up -d

image.png

查看日志:

docker logs -f jenkins

ps:如果遇到jenkins_data目录权限问题,需要先chmod 777 目录,然后docker-compose restart即可。

3. 初始化

3.1 访问http://127.0.0.1:8080,即可看到ui console:

image.png

这里的管理员密码可以日志中找到:

image.png

3.2 安装推荐的插件,如果失败了也没关系,后续可以选择重新安装插件:

image.png

3.3 插件安装可能需要一些时间:

image.png

3.4 设置用户名/密码:

image.png

3.5 进入jenkins:

image.png

3.6 安装其它插件(可选)
左侧:Manage jenkins --> Manage plugin
搜索:git parameter
通过git parameter,使得Jenkins可以选择任意一个branch(分支)来构建代码。

image.png

搜索:publish over ssh
publish over ssh的作用是:通过SSH连接其他Linux机器,远程传输文件及执行Shell命令。

image.png

4. 配置JDK和Maven并验证

4.1 准备JDK和Maven文件:

  • 关于JDK,jenkins自带了一个openjdk,只要在docker jenkins里查看下路径即可:

echo $JAVA_HOME

image.png
  • maven用的是3.6.3,下载地址:https://maven.apache.org/download.cgi
    docker-compose里有做过volume映射,在本地的jenkins_data目录中复制maven的包。
    本地已经复制好后的jenkins data:
    image.png

在docker的kenkins中查看,可以看到文件也已经更新:

docker exec -it jenkins bash

image.png

也可通过命令验证:

image.png

4.2 在Jenkins中配置:
左侧:Manage Jenkins --> Global Tool Configuration
4.2.1 配置JDK:
当然你也可以使用自动安装,我选择的是指定目录(就是上述通过echo $JAVA_HOME打印出来的java路径):**

image.png

4.2.2 配置Maven:

image.png

4 2.3 配置Publish over SSH
左侧:Manage Jenkins --> Configure System,拉到最底下,有个Publish over SSH
Publish over SSH有两种连接方式:账号密码登录和私钥登录,二选一即可。

如果使用帐户密码登陆,点击新增:


image.png

我先用本机MacOS系统试试,首先填入Name,自己起的别名。
Hostname,即本机的ip,可以使用ifconfig查看。
Username可以是MacOS的用户,Remote Directory就是Jenkins文件最终会布署的地方,在本机的docker下新建一个test目录。
Paassword就是MacOS用户的密码。


image.png

注:如果发现connection refused。可以点击【系统偏好设置】--> 【共享】--> 【远程登陆】,先把MacOS的ssh打开。
如何测试:可以在终端中直接输入ssh 用户名@IP,如果不会再出现错误:ssh: connect to host xx.xx.xx.xx port 22: Connection refused,转而提示需要输入密码,那么表示ssh是打开了。

最后测试下,没问题再点击应用并保存:

image.png


参考:https://www.section.io/engineering-education/building-a-java-application-with-jenkins-in-docker/

你可能感兴趣的:(【DevOps相关】安装Jenkins并配置插件)