跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方


HACK1949

推荐的帖子

一、创建job

在Dashboard中新建job:

1137363-20220912144010707-969251588.png

输入任务名:

1137363-20220912145333669-2068730080.png

 下面可以选择其中的一种用来构建项目比如第一个自由风格的软件项目。

二、项目配置

当选择第一个自由风格构建项目后,构建项目分成下面几部分:

  • General
  • 源码管理
  • 构建触发器
  • 构建环境
  • 构建
  • 构建后操作

1137363-20220912145744492-1560852051.png

1、General

包含很多项目的基本信息,比如项目描述等,那么常用的如丢弃旧的构建就是随着构建项目的增多,可以适当的丢弃掉过时的构建,有两种策略:

  • 保持构建的天数
  • 保持构建的最大个数

1137363-20220912150302837-2104684284.png

 2、源码管理

源码一般是从git仓库拉取,所以需要完成以下

  • 创建凭证(如:gitlab的账号密码)
  • 仓库地址
  • 指定分支
  • jenkins服务器上安装git

1137363-20220912195441423-1929538331.png

如果没有凭证就添加一个全局的凭证,注意写上描述,后期可能有很多,以便于区分;对于指定分支,默认是master,修改为指定分支;另外就是jenkins服务器上需要安装git,因为是通过git clone的方式同步源码。

3、构建触发器

当第二步完成后我们可以进行手动构建,这样就会拉取代码,但是这样需要人工干预,那么如何实现自动化呢?此时需要构建触发器,也就是何时执行这个任务,它的方式也有很多:

  • 其他工程构建后触发 
  • 定时构建
  • GitHub hook trigger for GITScm polling
 比如采用定时构建,通过日程表的方式:分、时、日、月、周
# 每天的12点47分执行这个任务的构建
47 12 * * *

1137363-20220912202839605-897371326.png

但是需要注意的是容器中的时间一定要与宿主机上的时间保持一致,所以:

# 进入容器
docker exec -it ef59 bash

# 容器中创建Asia时区文件
echo Asia/Shanghai >/etc/timezone

# 将宿主机中的localtime拷贝到容器中
docker cp /usr/share/zoneinfo/Asia/Shanghai ef59215fc5b6:/etc/localtime

# 重启服务
docker restart ef59

另外最好就是在jenkins个人设置中将时区进行设置,它是默认的。

1137363-20220912202747596-1851670941.png

4、构建

上面的过程就是定时将代码从git仓库同步过来,这一步是执行仓库中的代码,它也有很多选项:

1137363-20220912203138410-401795505.png

显然同步的代码在Linux服务器上,所以选择执行shell,那么执行的目录就是当前同步项目的根目录下,即:

1137363-20220912203946745-532297139.png

那么我们可以执行main.py文件,这个python解释器使用的就是运行脚本所在服务器的解释器,比如当前我是在jenkins服务器的容器中运行,所以容器中必须有python的环境,那么在构建时可以进入容器然后安装python,构建脚本:

  • 手动构建

需要先在宿主机上手动进入到容器然后进行安装:

# 进入容器
docker exec -it  `docker ps | awk '{print $1}' | xargs | awk '{print $2}'` bash

# 注意容器系统,apk安装python
echo "https://mirrors.ustc.edu.cn/alpine/v3.6/main/" > /etc/repositories
echo "https://mirrors.ustc.edu.cn/alpine/v3.6/community/" >> /etc/apk/repositories
apk update
apk add python3

# 执行仓库程序
python3 main.py
  • 自动构建

在构建时就是在容器中运行的,所以直接安装python,然后运行程序即可:

# 注意容器系统,apk安装python
echo "https://mirrors.ustc.edu.cn/alpine/v3.6/main/" > /etc/apk/repositories
echo "https://mirrors.ustc.edu.cn/alpine/v3.6/community/" >> /etc/apk/repositories
apk update
apk add python3

# 执行仓库程序
python3 main.py

1137363-20220913072240542-2079352987.png

 5、构建后操作

当构建完成后需要做的一些动作,比如发送邮件通知等:

1137363-20220913072443168-984375405.png

 但是这是jenkins自带的不可编辑的邮件通知,所以最好的时安装一个可编辑的邮件通知插件,在插件中选择 Email Extension 进行安装:

1137363-20220913073308733-1803680705.png

接着就是需要在系统管理-->系统配置中进行邮件服务器、发送者信息信息,然后在job中配置发件人(与系统配置中的的发送者邮箱一致)即可,注意的时发送这邮箱配置成管理员邮箱,在jenkins中邮箱有且只有一个。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...