本地、测试、正式发布工作流功能 #2

Open
opened 2024-03-14 11:23:16 +08:00 by shengxuqiang · 2 comments
Owner

实现多个环境发布功能,基于gitea actions

要求

  • 操作方便
  • 尽可能快速
## 实现多个环境发布功能,基于gitea actions 要求 - 操作方便 - 尽可能快速
shengxuqiang self-assigned this 2024-03-14 11:23:16 +08:00
shengxuqiang added this to the 智能运行测试仿真系统 project 2024-03-14 11:23:16 +08:00
Author
Owner

记录一个golang build在docker容器运行的bug (详细文章是这篇CSDN上的文章,以防万一,下面再挑重点描述一下)

bug说明

在使用docker运行以alpine为基础镜像的golang编译的可执行文件时出现如下错误

standard_init_linux.go:211: exec user process caused "no such file or directory"

主要原因如下

/usr/local/bin # ldd rts-sim-testing-service
        /lib64/ld-linux-x86-64.so.2 (0x7f2758e5d000)
Error loading shared library libresolv.so.2: No such file or directory (needed by rts-sim-testing-service)
        libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f2758e5d000)
        libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f2758e5d000)

因为go编译的这个可执行文件依赖了其他共享库:libresolv.so.2。这个实际上是golang在编译net包时会根据CGO_ENABLED配置及一些情况判断是否链接共享库。

解决方法

在编译时禁用CGO

# 第一种方式,修改env
go env -w CGO_ENABLED=0
# 第二种方式,在go build时加参数,可以通过-tags netgo或-tags netcgo来指定net包使用纯go还是cgo
go build -tags netgo -o <binname>
# 记录一个golang build在docker容器运行的bug (详细文章是这篇[CSDN上的文章](https://blog.csdn.net/u013235478/article/details/105852353),以防万一,下面再挑重点描述一下) ### bug说明 在使用docker运行以alpine为基础镜像的golang编译的可执行文件时出现如下错误 ```shell standard_init_linux.go:211: exec user process caused "no such file or directory" ``` ### 主要原因如下 ```shell /usr/local/bin # ldd rts-sim-testing-service /lib64/ld-linux-x86-64.so.2 (0x7f2758e5d000) Error loading shared library libresolv.so.2: No such file or directory (needed by rts-sim-testing-service) libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f2758e5d000) libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f2758e5d000) ``` 因为go编译的这个可执行文件依赖了其他共享库:libresolv.so.2。这个实际上是golang在编译net包时会根据CGO_ENABLED配置及一些情况判断是否链接共享库。 ### 解决方法 在编译时禁用CGO ```shell # 第一种方式,修改env go env -w CGO_ENABLED=0 # 第二种方式,在go build时加参数,可以通过-tags netgo或-tags netcgo来指定net包使用纯go还是cgo go build -tags netgo -o <binname> ```
shengxuqiang added the
Kind/Feature
label 2024-04-08 09:53:11 +08:00
Author
Owner
  • 已实现本地测试服务器部署
- 已实现本地测试服务器部署
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: joylink/rts-sim-testing-service#2
No description provided.