首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NixOps部署静态文件

使用NixOps部署静态文件
EN

Stack Overflow用户
提问于 2018-02-17 01:56:12
回答 1查看 854关注 0票数 7

我有一个程序,它依赖于服务器上可用的staticconfig目录以及二进制文件。NixOps的默认构建阶段不包括这些文件,据我所知,它只是编译二进制文件,然后将二进制文件复制到服务器。

如何修改构建阶段,使staticconfig目录在服务器上可用?我试着补充:

代码语言:javascript
复制
preInstall = ''
  echo "copying static and config files"
  cp -a ../static $out/static
  cp -a ../config $out/config
'';

但是,这似乎并没有真正地复制文件,而且我从未看到echo命令被执行。这里是NixOps使用的配置文件的要点。服务器上的错误是:

代码语言:javascript
复制
[root@pprjam:~]# systemctl status pprjam
● pprjam.service - pprjam webapp
   Loaded: loaded (/nix/store/z2s52f39p3dx8q9b06rkaqqw5mhdvnmq-unit-pprjam.service/pprjam.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2018-02-17 01:29:57 UTC; 1min 27s ago
  Process: 6917 ExecStart=/nix/store/khilhwldcbm0xm3a3bzhy6f0kwdk8w1p-pprjam-0.0.0/bin/pprjam (code=exited, status=1/FAILURE)
 Main PID: 6917 (code=exited, status=1/FAILURE)

Feb 17 01:29:51 pprjam systemd[1]: Started pprjam webapp.
Feb 17 01:29:56 pprjam pprjam[6917]: pprjam: static: getDirectoryContents:openDirStream: does not exist (No such file or directory)
Feb 17 01:29:57 pprjam systemd[1]: pprjam.service: Main process exited, code=exited, status=1/FAILURE
Feb 17 01:29:57 pprjam systemd[1]: pprjam.service: Unit entered failed state.
Feb 17 01:29:57 pprjam systemd[1]: pprjam.service: Failed with result 'exit-code'.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-22 15:28:04

你的精神中,您似乎要将preInstall属性合并到pprjam包的现有属性中。这意味着在已经构建了包之后,您将更改其属性。如果这是正确的,那么您可能希望使用overrideAttrs (参见手册来源)。

另外,configstatic目录是指/etc中的目录吗?对于NixOS系统来说,AFAIK是相当基本的,应该始终存在。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48837179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档