我有一个Visual Studio应用程序,我们想使用OpenShift进行构建和部署,并且通过指向保存源代码的github存储库成功进行了手动构建。据我所知,这意味着OpenShift使用s2i
处理存储库内容并创建docker映像,然后我们可以对其进行部署。可行!
我需要使它自动化,并且我对.NET生态系统不熟悉,因此首先我想复制当前行为。我以前曾设法用合适的SDK映像进行构建,但由于偶然而丢失了工作,并且Redhat 确实想要使用s2i,因此,这就是我现在要看的内容。如果有其他更好的方法,我对此非常开放。
据我了解,这意味着我们需要找到一个合适的Linux dotnetcore SDK映像进行构建。手册主要指的是Redhat图像(需要有效的订阅),但也指的是我后来尝试使用的registry.centos.org/dotnet/dotnet-21-centos7:latest
。
到目前为止,完整的构建命令是:
s2i build --loglevel 4 https://github.com/.... --context-dir=TPCIP.Web --ref=develop registry.centos.org/dotnet/dotnet-21-centos7:latest tpcip
正确地在开发分支中检出了远程存储库,但随后失败:
I0304 17:01:50.142784 17028 sti.go:711] ---> Installing application source...
I0304 17:01:50.154784 17028 sti.go:715] A compatible SDK version for global.json version: [2.1.300] from [/opt/app-root/global.json] was not found
I0304 17:01:50.154784 17028 sti.go:715] Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
I0304 17:01:50.154784 17028 sti.go:715] https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
不熟悉这个生态系统,我不知道如何从这里开始。有建议吗?
编辑:戳里面我看到了:
bash-4.2$ dotnet --list-sdks
2.1.503 [/opt/rh/rh-dotnet21/root/usr/lib64/dotnet/sdk]
bash-4.2$ exit
这太新了吗?