专业的编程技术博客社区

网站首页 > 博客文章 正文

Docker运行Jenkins镜像远程拉去Github.com代码进行构建

baijin 2024-10-07 06:05:18 博客文章 4 ℃ 0 评论

继Docker安装Jenkins保姆级教程之后.

本人又为大家献上Jenkins中远程拉去GitLab中的代码.

配置Jenkins:

通过http://IP:8080 来访问jenkins服务;

获取密码

#查看所运行的所有容器
sudo docker ps
#进入容器
sudo docker exec -it myjenkins bash
#查看密码
cat /var/jenkins_home/secrets/initialAdminPassword
#退出容器
Ctrl+P+Q

安装完成后最好新创建一个管理员账户代替之前的临时自动生成的密码账户;

系统设置

配置Maven、jdk、git环境

1.进“系统管理” – “Global Tool Configuration”,添加jdk安装,如下图:

参数说明:
别名:自定义就行;
JAVA_HOME:这个是你jenkins容器里的JDK路径,不是宿主机的JDK路径;


2.进“系统管理” – “Global Tool Configuration”,添加maven安装,如下图:

参数说明:和jdk一样,MAVEN_HOME 的路径也是指向jenkins容器里的maven路径;


3.在“系统管理——插件管理——可选插件”模块输入git查询过滤,安装git(有的版本是叫git plugin),奇怪的是在未安装时显示的是git,安装完后在已安装模块显示的是git plugin,因为git依赖git client,即使没有选中git client 安装的时候也会自动安装。安装很顺利我这里没出现异常。安装完成重启Jenkins即可。

#提供对 gitlab 支持,如果不使用可以不安装
gitlab
# 提供 Git 参数化和钩子触发构建支持,不需要可以不安装
Git Parameter
Generic Webhook Trigger

在这里Jenkins安装配置完成。

进入Jenkins平台生成密钥

#查看所运行的所有容器
sudo docker ps
#进入my入jenkins容器中,这里我运行的容器名称是:"myjenkins",
sudo docker exec -it myjenkins bash

#在容器中生成git公钥私钥,运行该命令前,必须要jenkins的git组件安装成功。也就是说在镜像中必须安装好git.
#email@example.com git账号.
ssh-keygen -t rsa -b 2048 -C "email@example.com"

#执行命令后的结果
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:S6qxaVNuJ5inLxGDdrqqlpNsG4AsmcXH88dXckHdIOI root@jenkins
The key's randomart image is:
+---[RSA 2048]----+
|          ..+..o |
| . .     . . o. .|
|  o.+     E o    |
|o+o.+o .   +     |
|*o o o. S .      |
|o . . .+ o       |
|..o..*. .        |
| Bo *== .        |
|*oo.=B.o         |
+----[SHA256]-----+
  
  
 #公钥文件/root/.ssh/id_rsa.pub
#查看公钥
cat id_rsa.pub

在Github上配置公钥:

把刚生成的公钥粘贴进去,Github公钥就配置好了.

这样Jinkens 就可以直接拉去GitHub的代码了。


我们做个实验.配置java项目

1.构建maven项目
点击“新建” – “构建一个maven项目,项目名称定为java-tale,如下图:

2.源码管理
在“源码管理”项中选择Git,只需要配置git仓库的地址 “Repository URL”,之前我们在jenkins服务器上把公钥传输到了git服务器上了,所以不需要做认证,如下图:

3、构建触发器
在“构建触发器”选项中,选上“Poll SCM”,日程表 * ,每分钟都去检查代码,这个和linux crontab是一样的含义。这一项你也可以不用测试,如下图:

4、build配置
在“Build”选项中,Goals and options输入:clean package。如下图:


5、构建后的配置
在“Post Steps”选项中,配置如下操作:

6、测试
配置上之后,构建此项目:

看到最上面完成的状态,就可以进行测试了,如果是第一次构建时间会比较久,它需要下载maven相关的依赖包。


OK到这里Jenkins中远程拉去Github.com代码进行构建就完成。


大家可以动手试一试,看再多的文章不如实操一遍。(这里强烈建议手动试一试)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表