jenkins发布测试版本及发布版本

jenkins自动编译成测试版本及发布版本使用说明

1.      设置Jenkins

Ø  http://192.168.2.121:8081/view/x51---%E5%86%85%E9%83%A8%E7%BC%96%E8%AF%91%E5%8F%8A%E5%8F%91%E5%B8%83/job/x51_auto_build/左边点击设置,

Ø  在右侧的项目名称下面的描述中加上工具名称及ab上传目录,如图:

Ø  在choice下面添加工具名称,如图:

Ø  在构建下面的命令中加入:

2.      创建上面的py脚本文件,路径:E:\engeneer\x51_8188\Code\InternalUse\JenkinsJobScript

(1)二进制目录输出路径:

 

(2)版本文件,这里没有引擎版本,所以如图设置即可:

(3)依赖文件,这里没有,所以[]中没有东西:

(4) 需打包的目录,这里不需要resources,所以,只写bin_path

(5)ab上路径,在x51_test分支下,路径alienbrain://H3D-AB02/QQX5_Mainland/exe/其他工具/美术配置工具

(6) 发布时,获取的包存放位置

其中,最后一个改为“美术配置工具”即可

(7)buildConfig中加入所有需要编译的工程,这里只有一个:

 

(8)pre_name = "51_xmlExporter"与E:\engeneer\x51_8188\exe\jenkins\pack_check中文件名称有联系,截取’51_’后面的名称,再加上’_dirtree.txt’:

     

 

(9)发布路径,alienbrain://H3D-AB02/X51_SourceBase/engine_release/2016年/其他工具/策划工具/周配置工具:

(10)修改版本号,这里没有引擎版本号,所以这样写就可以了:

   

3.      创建上面所说的E:\engeneer\x51_8188\exe\jenkins\pack_check里的文件xmlExporter_dirtree.txt,内容包含最后发布的包里的需要的文件,去除掉不需要的文件,如下所示。里面的路径都是相对于E:\engeneer\x51_8188\exe\目录,所以工程文件及上面的输出文件都应该设为该目录。

4.      测试

(1)打开链接http://192.168.2.121:8081/view/x51---%E5%86%85%E9%83%A8%E7%BC%96%E8%AF%91%E5%8F%8A%E5%8F%91%E5%B8%83/job/x51_auto_build/build?delay=0sec,

(2)在右侧选择svn分支为8188和所要编译的项目为x51美术配置工具,与步骤1中配置的名称一致,点击“开始构建”按钮即开始构建。

(3)左侧如下所示:

,点击(4)向下箭头,选择console output,在右侧就会看到编译的信息,如图所示

(5)编译完成后,出现success提示:

 

jenkins自动编译成测试版本及发布版本使用说明

1.      设置Jenkins

Ø  http://192.168.2.121:8081/view/x51---%E5%86%85%E9%83%A8%E7%BC%96%E8%AF%91%E5%8F%8A%E5%8F%91%E5%B8%83/job/x51_auto_build/左边点击设置,

Ø  在右侧的项目名称下面的描述中加上工具名称及ab上传目录,如图:

Ø  在choice下面添加工具名称,如图:

Ø  在构建下面的命令中加入:

2.      创建上面的py脚本文件,路径:E:\engeneer\x51_8188\Code\InternalUse\JenkinsJobScript

(1)二进制目录输出路径:

 

(2)版本文件,这里没有引擎版本,所以如图设置即可:

(3)依赖文件,这里没有,所以[]中没有东西:

(4) 需打包的目录,这里不需要resources,所以,只写bin_path

(5)ab上路径,在x51_test分支下,路径alienbrain://H3D-AB02/QQX5_Mainland/exe/其他工具/美术配置工具

(6) 发布时,获取的包存放位置

其中,最后一个改为“美术配置工具”即可

(7)buildConfig中加入所有需要编译的工程,这里只有一个:

 

(8)pre_name = "51_xmlExporter"与E:\engeneer\x51_8188\exe\jenkins\pack_check中文件名称有联系,截取’51_’后面的名称,再加上’_dirtree.txt’:

     

 

(9)发布路径,alienbrain://H3D-AB02/X51_SourceBase/engine_release/2016年/其他工具/策划工具/周配置工具:

(10)修改版本号,这里没有引擎版本号,所以这样写就可以了:

   

3.      创建上面所说的E:\engeneer\x51_8188\exe\jenkins\pack_check里的文件xmlExporter_dirtree.txt,内容包含最后发布的包里的需要的文件,去除掉不需要的文件,如下所示。里面的路径都是相对于E:\engeneer\x51_8188\exe\目录,所以工程文件及上面的输出文件都应该设为该目录。

4.      测试

(1)打开链接http://192.168.2.121:8081/view/x51---%E5%86%85%E9%83%A8%E7%BC%96%E8%AF%91%E5%8F%8A%E5%8F%91%E5%B8%83/job/x51_auto_build/build?delay=0sec,

(2)在右侧选择svn分支为8188和所要编译的项目为x51美术配置工具,与步骤1中配置的名称一致,点击“开始构建”按钮即开始构建。

(3)左侧如下所示:

,点击(4)向下箭头,选择console output,在右侧就会看到编译的信息,如图所示

(5)编译完成后,出现success提示:


build_scrpt_for_weekly_tool.py

#!python.exe
#coding=gbk


import os
import sys
import time
from  exec_units import *




# begin ------------------------------ 项目相关配置 ---------------------------------------
#编辑器版本号
version = [1,3, 0 if svn_branch else versionId, revisionId]


# 引擎版本号
eng_version = version[0:]
eng_version[1] = 2


# 二进制目录
bin_path = os.path.join(root_dir, r'exe\周配置工具')


# 版本文件(修改版本号使用)


# ------- 1. 该版本文件
version_files = map(lambda x: os.path.join(root_dir, x), 
                      [
                      r'Code\AssistTool\PlanerTools\AtfWeeklyConfigTool\AtfWeeklyConfigTool\Properties\AssemblyInfo.cs'] 
                    )


# 依赖文件(拷贝依赖文件时使用)
# --------- 2. 依赖文件的路径
dependece_files = map(lambda x: os.path.join(root_dir, x), 
                        []
                        )


# 需打包的目录
need_packet_dirs = [bin_path]


db_path = '/exe/其他工具/周配置工具'


# 发布时,获取的包存放位置
# ---6
packet_path = r'D:\code_hudson\编辑器打包\压缩包\周配置工具' 
editor_build_config = {
    "sln_path":map(lambda x: os.path.join(root_dir, x), [r'Code\AssistTool\PlanerTools\AtfWeeklyConfigTool\AtfWeeklyConfigTool.sln',
                                                         
                                                         ]),
    "build_type":["rebuild", "rebuild /maxcpus=8", "rebuild"],
    "build_cfg": ['Release|Mixed Platforms']
    }


pre_name = "51_WeeklyConfigTool"
publish_ab_path = '/engine_release/' + time.strftime('%Y') + '年/' + "其他工具/策划工具/周配置工具/" + time.strftime('%Y.%m.%d')






# end ------------------------------ 项目相关配置 ---------------------------------------


def build():
    # 修改版本号
    ChangeVersion(version_files, version)


    # 清除二进制目录只读属性
    ClearReadOnlyAttrib(bin_path)


    
    # 编译编辑器
    Compile(editor_build_config)


    # 拷贝依赖
    CopyDependFile(map(lambda x:(x, bin_path), dependece_files))




    # 打包
    Packet(need_packet_dirs, bin_path, pre_name, version)


    # 上传Ab
    LogAB(user, passwd or "", ab_test_server, ab_test_proj, ab_test_branch)
    CommitToAB(db_path, bin_path, GetPackFileName(pre_name, version), comment)


    LogoffAB()


def publish():


    # 上传符号文件, 删除符号文件
    DumpSymbols(bin_path)




    # 登陆ab
    LogAB(user, passwd or "", ab_test_server, ab_test_proj, ab_test_branch)


    # 获取包
    GetPackFromAb(db_path + "/" + GetPackFileName(pre_name, version), packet_path + "/" + GetPackFileName(pre_name, version))
    LogoffAB()


    # 登陆发布ab
    LogAB(user, passwd or "", ab_publish_server, ab_public_proj)


    # 创建ab目录
    EnsureFolderOnAB(publish_ab_path)


    # 发布至ab
    CommitToAB(publish_ab_path, packet_path, GetPackFileName(pre_name, version), comment)


    # 删除本地包
    DelPack(packet_path)


    LogoffAB()


    # 写入上传位置
    RecordUpLoadPlace(record_upload_file_name, publish_ab_path)


if __name__ == "__main__":
    build_type = os.getenv("build_type")
    if(build_type == "compile"):
        try:
            build()
        except:
            info=sys.exc_info()
            print info[0],":",info[1]
            raise
        finally:
            # 回滚版本文件
            RevertFile(version_files)
            # 删除本地包
            DelPack(bin_path)
    else:
        publish()

 

WeeklyConfigTool_dirtree.txt只包含最简包中的必须的文件,用来发布

\周配置工具\Aspose.Cells.dll
\周配置工具\Atf.Core.dll
\周配置工具\Atf.Gui.dll
\周配置工具\Atf.Gui.WinForms.dll
\周配置工具\SharpDX.Direct2D1.dll
\周配置工具\SharpDX.dll
\周配置工具\SharpDX.DXGI.dll
\周配置工具\WeifenLuo.WinFormsUI.Docking.dll
\周配置工具\AtfWeeklyConfigTool.exe
\周配置工具\AtfWeeklyConfigTool.exe.config
\周配置工具\AtfWeeklyConfigTool.vshost.exe

你可能感兴趣的:(发布工具jenkins)