我想从公共存储库的 GitHub 操作部署到 GitHub 包注册表。
我有一个用于工作流程的 yml 文件:
name: My CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install dependencies
run: lein deps
- name: Run tests
run: lein test
- name: Generate pom
run: lein pom
- name: Deploy
run: mvn deploy
Run Code Online (Sandbox Code Playgroud)
我使用 Leiningen 来构建项目并生成一个 POM 文件。然后我想使用 Maven 将工件部署到 GitHub 包注册表。
这在Deploy命令上失败(我已用 替换了个人信息...):
[WARNING] Could not transfer metadata ... from/to github (https://maven.pkg.github.com/.../...): Not authorized
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] …Run Code Online (Sandbox Code Playgroud) 我正在使用Jena ARQ编写针对从Jena TDB读取的大型本体的SPARQL查询,以便找到与基于rdfs标签的概念相关联的类型:
SELECT DISTINCT ?type WHERE {
?x <http://www.w3.org/2000/01/rdf-schema#label> "aspirin" .
?x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type .
}
Run Code Online (Sandbox Code Playgroud)
这很好用,实际上非常快(<1秒).不幸的是,对于某些术语,我需要以不区分大小写的方式执行此查询.例如,因为标签"Tylenol"位于本体中,而不是"tylenol",所以以下查询为空:
SELECT DISTINCT ?type WHERE {
?x <http://www.w3.org/2000/01/rdf-schema#label> "tylenol" .
?x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type .
}
Run Code Online (Sandbox Code Playgroud)
我可以使用FILTER语法编写此查询的不区分大小写的版本,如下所示:
SELECT DISTINCT ?type WHERE {
?x <http://www.w3.org/2000/01/rdf-schema#label> ?term .
?x <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?type .
FILTER ( regex (str(?term), "tylenol", "i") )
}
Run Code Online (Sandbox Code Playgroud)
但现在查询需要一分钟才能完成!有没有办法以更有效的方式编写不区分大小写的查询?
我有一个简单/初学者的问题,在我的应用程序中使用小胡子模板(或更准确地说是Hogan).我使用的API有时会返回一个String,有时会返回一个字符串数组.
我知道可以将String包装在单个元素数组中,但是还有一种方法可以从胡子模板中处理这个选项吗?
使用普通部分
{{#stringOrArray}}
<li>{{.}}</li>
{{/stringOrArray}}
如果只是一个字符串,则不会打印该值.
我们使用 GitHub Actions 进行项目的多模块 Maven CI 构建(位于https://github.com/ibm/fhir )。
我们有:
我发现我可以通过定义多个工作流程并使用内置on.pull_request.paths属性来完成类似的事情,如下所示: https ://help.github.com/en/actions/automating-your-workflow-with-github-actions/ github-actions 的工作流程语法#onpushpull_requestpaths
我想知道我是否/如何能够在job或step级别上完成类似的事情。我发现作业支持基于https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif的条件执行,但我可以'不知道是否有任何东西可以帮助获得与该on.pull_request.paths功能类似的行为。
假设没有,有人找到了可以帮助解决这个问题的行动吗?或者也许有人可以指出我该功能的实现on.pull_request.paths?
从http://www.omg.org/spec/BPMN/2.0.2/PDF(第238页):
如果Process用作全局Process(可以从其他进程的Call Activities调用的可调用进程)并且有多个None Start Events,那么当flow从父进程转移到全局进程时,只有一个进程将触发全局流程的启动事件.可以扩展传递给Call Activity对象的Sequence Flow的targetRef属性,以识别适当的Start Event.
如何扩展targetRef属性?它不一定是有效的IDREF吗?也许他们的意思是应该使用自定义属性扩展sequenceFlow元素?
有这种延期的例子吗?现有的BPMN工具是否支持它?
这是我手工编辑的BPMN片段,用于说明问题:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL">
<process id="p1" name="Process 1" isExecutable="false" processType="Private">
<sequenceFlow id="startAflow" sourceRef="start" targetRef="A"/>
<sequenceFlow id="callActivityFlow" sourceRef="A" targetRef=" !? WHAT_GOES_HERE ?! "/>
<startEvent id="start" name="Start">
<outgoing>startAflow</outgoing>
</startEvent>
<task id="A">
<incoming>startAflow</incoming>
<outgoing>callActivityFlow</outgoing>
</task>
<callActivity id="call" calledElement="p2">
<incoming>callActivityFlow</incoming>
</task>
</process>
<process id="p2" name="Process 2" isExecutable="false" processType="Private">
<sequenceFlow id="start2Aflow" sourceRef="start1" targetRef="2A"/>
<sequenceFlow id="start2Bflow" sourceRef="start2" targetRef="2B"/>
<startEvent id="start1" name="Start">
<outgoing>start2Aflow</outgoing>
</startEvent>
<task id="2A">
<incoming>start2Aflow</incoming>
</task>
<startEvent id="start2" name="Start in middle …Run Code Online (Sandbox Code Playgroud) 我正在打包一个适用于 Db2 的自由应用程序。当我们在本地运行时,我们配置证书来保护从应用程序到数据库的连接。
现在,我正在尝试打包与 Db2 on Cloud 服务一起使用的相同应用程序,但在 SSL 配置方面遇到了问题。
我想我可以创建一个信任库并向其中添加 digicert 根 CA 并将其与应用程序一起打包,但我倾向于只使用 JDK 的内置 cacerts(因为我们也有限制性防火墙规则来阻止与其他主机的出站连接)。
我在https://github.com/OpenLiberty/open-liberty/issues/4377找到了非常相关的讨论,但我似乎找不到一种以可移植方式指定 JDK cacert 存储路径的好方法。
我尝试将其设置如下:
<keyStore id="defaultKeyStore" location="${env.JAVA_HOME}/jre/lib/security/cacerts"/>
但由于某种原因,它没有解析环境变量。为什么?
此外,这仅在 JAVA_HOME 设置为 JDK 时才有效(如在开发中)。在我们的容器中,我们没有那个,所以我们不想要jre路径中的部分。
告诉 Liberty 仅使用 JDK 的默认信任库(以可移植的方式)的最简单/最简单的方法是什么?