This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 通过 Jenkins 在 Linux 上构建 CCS 项目

Guru**** 2587345 points
Other Parts Discussed in Thread: TMS320F280049C

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1060187/building-ccs-project-through-jenkins-on-linux

主题中讨论的其他器件:TMS320F280049C

您好!

我有一个使用 CCSv1040内置 TMS320F280049C 微控制器的项目。 我现在正在尝试设置 Jenkins 管道以设置 CI/CD 服务器。 最初我在通过 Jenkins 构建项目时遇到了问题、但更改文件夹的写入权限解决了这个问题。 现在、即使我的项目正在编译、Jenkins 编译也由于以下错误而失败:

"无法初始化服务器:无法连接:连接被拒绝

Eclipse:无法打开显示:

Eclipse:

发生错误。 查看日志文件"

在下面、您可以看到工程正在编译、没有任何错误:

16:55:59 +/home/cicdserver/ti/ccs1040/ccs/ccs/eclipse/eclipse -noSplash -data /home/cicdserver/workspaces/workspace_temp -应用 com.ti.ccstudio.apps.projectBuild -ccs.projects sw20200507 -ccs.configuration CPU1_FLASH -ccs.listErrors
 16:56:04
:56:04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16:56:04 CCS 无头构建正在启动... [Tue Dec 07 16:56:04 CET 2021年]
 16:56:04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16:56:04
 16:56:04 ============================================================================================================================================================================================================================================================================================================================================================================================================================================================
16:56:04预处理...
16:56:04
 16:56:04
 16:56:04 ====================================================================================================================================================================================================================================================================================================================================================================================
16:56:04大楼...
16:56:04
 16:56:06
 16:56:06 ****为项目 sw20200507构建配置 CPU1_FLASH **
 16:56:06
 16:56:06 /home/cicdserver/ti/ccs1040/cs/utils/bin/gmake -k -j 4所有-O
 16:56:06
 16:56:07'204010401'16:56:07 gmake[1]:无需为"辅助输出"执行任何操作。
16:56:07
 16:56:07 ****构建完成**16:56:07

 16:56:07 ================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================ 
16:56:07
 16:56:07 ---------------
项目 www20200507'的16:56:07错误(0):
16:56
:07
 16:56:07
 16:56:07
 16:56:07 
16:56:07 CCS 无头构建完成! 1个项目中有0个有错误。
16:56:07无法初始化服务器:无法连接:连接被拒绝
16:56:07 Eclipse:无法打开显示:16:56:07
 Eclipse:16:56:07
出现错误。 请参阅日志文件
16:56:07 /home/cicdserver/workspaces/workspace_temp。metadata/.log。
16:56:07编译步骤'Execute shell'标记为失败16
:56:07新的运行名称是'#40'
 16:56:07 finished:failure 


有人可以帮助解决这个问题吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是错误消息中提到的日志文件。

    e2e.ti.com/.../4174.log.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    日志中的大部分错误似乎是工作区中文件夹和项目中生成的一些 makefile 的各种权限错误。 您能否检查这些权限是否也正常?

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    由于我还想了解发生了什么情况、日志文件的哪个部分指示权限错误? 是否有任何方法可以确保 Jenkins 拥有所有文件夹/文件等的所有权限、从而不会出现这些问题? 此计算机上只有一个用户。

    此外、根据我的理解、只要系统不尝试打开 Eclipse、即在无头构建步骤后结束、问题就应该得到解决。 这是不正确的假设吗?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="484672" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum 1060187/building-ccs-project-through -Jenkins-on-Linux/3926053#3926053"]由于我还想了解发生了什么情况,日志文件的哪个部分指示权限错误? [/报价]

    我看到许多"权限被拒绝"类型的消息:

    !entry org.eclipse.OSGi 4 0 2021-12-07 16:56:07.641
    !消息应用程序错误
    !堆栈1
    org.eclipse.core.internal.resources.ResourceException(/)[568]: java.io.FileNotFoundException:/home/cicdserver/workspaces/workspace_temp。metadata/.plugins/org.eclipse.core.resources/.root/8.tree (权限被拒绝)
    在 java.io.FileOutputStream.open0 (本机方法)

    !entry org.eclipse.core.filesystem 4 2772021-12-07 16:56:06.506
    !消息资源的父级:/home/cicdserver/Documents/Random/jenkinsTest/sw20200507/CPU1_flash/makefile 标记为只读。
    !堆栈0
    java.io.FileNotFoundException:/home/cicdserver/Documents/Random/jenkinsTest/sw20200507/CPU1_flash/makefile (权限被拒绝)
    在 java.io.FileOutputStream.open0 (本机方法)
    在 java.io.FileOutputStream.open (FileOutputStream.java:270)

    !entry org.eclipse.core.filesystem 4 2772021-12-07 16:56:06.506
    !消息资源的父级:/home/cicdserver/workspaces/workspace_temp /.metadata/.plugins/org.eclipse.core.resources/.history/60标记为只读。
    !堆栈0
    java.nio.file.AccessDeniedException:/home/cicdserver/workspaces/workspace_temp。metadata/.plugins/org.eclipse.core.resources/.history/60
    在 sun.nio.fs.UnixException.translateToIOException (UnixException.Java:84)
    在 sun.nio.fs.UnixException .rethrowAsIOException (UnixException:Java:102)

    在日志文件中搜索"权限被拒绝"会产生许多命中结果

    [引用 userid="484672" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum 1060187/building ccs-project-through -Jenkins-on-Linux/3926053#3926053"]Jenkins 具有所有文件夹/文件的所有权限、等等、是否有任何方法可以确保这些问题不会发生? 此计算机上只有一个用户。

    确保 jenkis 将属性写入项目和工作区文件夹及子文件夹

    [引用 userid="484672" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum 1060187/building -ccs-project-through -Jenkins-on-Linux/3926053#3926053"]此外、据我了解、只要系统不尝试打开 Eclipse、即在无头构建步骤结束后、问题就应该得到解决。 这是不正确的假设吗?

    CLI 构建命令依赖于多个 eclipse/Cdt 和 CCS 组件。 尽管存在错误、构建是否仍然完全成功?

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没有、由于 Jenkins 一直在尝试打开显示、生成失败。

    我成功运行了一个编译、但我必须手动转到文件夹并将其权限更改为777、这样 Jenkins 就可以访问所有内容。 但是、权限的这种更改不能自动进行、每次克隆新项目时、权限都会更改。 当 Jenkins 编译运行时、它作为系统运行:

    由用户 CI/CD Server
     18:14:50启动,作为系统
    18:14:50在工作区/var/lib/jenkins/workspace/Freestyle
     18:14:50中构建而运行建议的 git 工具为:none
     18:14:50未指定凭据 

    为什么系统没有对文件夹的读/写访问权限?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="484672" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum 1060187/build-ccs-project-through -Jenkins-on-Linux/3927714#3927714"]没有由于 Jenkins 一直在尝试打开显示而导致生成失败。

    当没有 Xserver 时、似乎也会出现该错误。

    https://github.com/DrSnowbird/eclipse-docker/issues/1

    [引用 userid="484672" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum 1060187/building-ccs-project-through -Jenkins-on-Linux/3927714#3927714"]\n 为什么系统没有对这些文件夹的读/写访问权限? [/报价]

    CCS 安装了哪些权限?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不是在 Docker 容器中运行它。 我应该这么做吗?
    此系统上只有一个用户、我正在使用的用户。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    以这种方式执行此 CI 管道是否有意义? 即使是自动生成的 makefile 文件、使用 makefile 文件是否更好?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在两年前发现了这个主题:

    https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/835012/ccs-cc1352p-code-composer-studio-headless-builds-in-jenkins-do-not-work-with-simplelink-sdk

    "sudo password Jenkins"在这里是什么意思?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="484672" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum 1060187/building-ccs-project-through -Jenkins-on-Linux/3929778#3929778"]此处"sudo password Jenkins"是什么意思?

    看起来他使用该命令为 Jenkins 帐户创建密码:

    https://stackoverflow.com/questions/25041125/default-jenkins-user-password

    然后、他能够使用该密码使用 Jenkins 帐户登录并安装 CCS/SDK 等...

    [引用 userid="484672" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum 1060187/building-ccs-project-through -Jenkins-on-linux/3929329#3929329"]这么 做是否有意义? 即使是自动生成的 makefile 文件、使用 makefile 是否更好?

    我对 Jenkins 没有太多经验、因此很遗憾、我无法提供有关通过 Jenkins 通过 CLI 构建 CCS 项目的最佳实践的大量建议。 我会看到我是否能找到有更多经验的人进行评论。

    谢谢

    Ki