我的.Jenkins文件是这样的:
properties([[$class: 'GitLabConnectionProperty', gitLabConnection: 'gitlab@srv']])
node {
env.JAVA_HOME = tool 'JDK 7'
def mvnHome = tool 'Maven 3.2.2'
def nodeJS = tool 'IA_NodeJS'
env.PATH = "${mvnHome}/bin:${nodeJS}/bin:${env.JAVA_HOME}/bin:${env.PATH}"
stage ('checkout') {
checkout scm
}
stage ('build') {
gitlabCommitStatus("build") {
// your build steps
sh 'mvn clean install -Denv=dev -P !faster'
}
}
stage ('upload') {
gitlabCommitStatus("upload") {
def server = Artifactory.server "artifactory@ibsrv02"
def buildInfo = Artifactory.newBuildInfo()
buildInfo.env.capture = true
buildInfo.env.collect()
def uploadSpec = """{
"files": [
{
"pattern": "**/target/*.jar",
"target": "libs-snapshot-local"
}, …
Run Code Online (Sandbox Code Playgroud) 如何使用 Artifactory AQL 删除空文件夹(没有任何内容的文件夹)?
我有当前的 AQL 查询来查找早于 12w 且从未下载的文件,我将通过脚本删除这些文件。
items.find(
{
"repo":{"$eq":"libs-release-local"},
"stat.downloads":{"$eq":null},
"created":{"$before" : "12w"},
}
)
Run Code Online (Sandbox Code Playgroud)
这给我留下了空文件夹,如何指定查找所有空文件夹的 AQL 查询?
当推动时我看到这个:
nuget push blah.1.0.0.nupkg -source repo
WARNING: No API Key was provided and no API Key could be found for 'https://meeee.jfrog.io/meeee/api/nuget/repo'. To save an API Key for a source use the 'setApiKey' command.
Pushing blah.1.0.0.nupkg to 'https://meeee.jfrog.io/meeeee/api/nuget/repo'...
PUT https://meeee.jfrog.io/meeee/api/nuget/repo/
Created https://meeee.jfrog.io/meeee/api/nuget/repo/ 8585ms
Run Code Online (Sandbox Code Playgroud)
仍然有效,并且它必须使用 API 密钥,否则我的访问会被拒绝 - 所以我不确定它警告我什么。也许是因为我没有默认的机器范围 API 密钥?我必须添加包含用户名和密码的 nuget 源,因为 nuget 很混乱,如果不为每个源设置默认 API 密钥,则不会为其提取默认 API 密钥。
我还注意到,即使我连续多次上传相同的包,它仍然会上传它 - 我想也许 Artifactory 会看到它是相同的,而不上传或告诉我?
在 Linux 服务器上安装了 Jenkins,想手动安装一些插件。
我想安装 Blue Ocean 和 Artifactory。
对于这两个插件,我都下载了 hpi 文件并尝试安装它,但是我遇到了很多依赖项错误。
我现在是否也必须手动安装这些依赖项?或者有更好的方法来做到这一点?
我尝试安装这些依赖项之一,并且该依赖项也有一些依赖项错误:-(
Linux 服务器无法访问 Internet。
谢谢!
罗伯特
有人可以解释一下 JFrog Artifactory 中这 3 种类型的本地、远程和虚拟存储库是什么。,我没有从 JFrog Artifactory 文档中清楚地了解它。
https://www.jfrog.com/confluence/display/RTF/Configuring+Repositories
每当我需要从私有存储库更新或安装 nuget 包时,Rider 都会尝试从该存储库获取我的解决方案中每个已恢复的包。这使得这个过程非常缓慢。
我有一个RPM repository
运行JFrog Artifactory
。CentOS 和 RHEL 主机正在使用它,我也想将它与我的 openSUSE 主机一起使用。
JFrog 的这份文档没有明确说明只支持 yum 客户端,并且由于他们使用了术语RPM repository
,对我来说这表明存储库也应该与zypper
客户端一起使用。
这是一个关于源代码的opensuse文档repomd/rpm md/YUM
,使用该createrepo
命令创建的 openSUSE 主机上的存储库的视觉检查看起来与 JFrog RPM 存储库布局一致。
opensuse:~ # ll /data/internalrepo/
total 1157456
-rw-r--r-- 1 root root 1185231772 Apr 22 08:54 myapp-server-2019.0.x86_64.rpm
drwxr-xr-x 1 root root 494 Apr 22 08:55 repodata
opensuse:~ # ll /data/internalrepo/repodata/
total 324
-rw-r--r-- 1 root root 1901 Apr 22 08:55 6a654dd3c11ae0f51efd9cd3fd09ccfdc3c48e988ab886c370e94f7f5bcdf3d1-primary.xml.gz
-rw-r--r-- 1 root root 315545 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 gradle 将项目 jar 部署到 JFrog Artifactory 中。该build.gradle
文件如下所示(部署所需的部分):
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.16.1"
}
configurations.classpath {
resolutionStrategy {
cacheDynamicVersionsFor 0, 'seconds'
cacheChangingModulesFor 0, 'seconds'
}
}
}
plugins {
id 'java'
id 'com.jfrog.artifactory' version '4.16.1'
id 'maven-publish'
}
repositories {
mavenCentral()
mavenLocal()
repositories {
mavenCentral()
maven {
url "<artifactoryPath>/artifactory/gcc-maven/"
credentials {
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId group
version version
from components.java
} …
Run Code Online (Sandbox Code Playgroud) 我们有一堆私有 Java 依赖项发布到 Artifactory。我们正在使用 Gradle 来构建我们的项目。
\n问题是 VSCode 对 Java 的语言支持无法识别build.gradle
Java 源代码中的依赖项/导入。
注意:下面的所有代码片段均完全从源代码/VS Code 消息中复制粘贴,但公司域被替换为 mycompany.com 且 Artifactory 凭证被编辑。
\n我在 Java 源代码中看到的错误是:
\nThe import com.mycompany.observability cannot be resolved\n
Run Code Online (Sandbox Code Playgroud)\nMycompanyLogger cannot be resolved\n
Run Code Online (Sandbox Code Playgroud)\n这是有错误的 Java 文件:
\npackage com.mycompany.sample;\n\nimport com.mycompany.observability.logging.MycompanyLogger;\n\npublic class SampleApplication {\n\n public static void main(String[] args) {\n MycompanyLogger.setServiceName("SERVICE_NAME");\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n以及以下错误build.gradle
:
Unresolved dependency: com.mycompany:core-observability-spring:0.0.37\n
Run Code Online (Sandbox Code Playgroud)\n这是build.gradle
文件:
plugins {\n id 'io.spring.dependency-management' version '1.0.9.RELEASE'\n id 'org.springframework.boot' version …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个明确的定义,但还没有找到。我找到了一个帖子,例如这个,但许多其他帖子不完整或未得到答复。我只是想知道构建、包和工件之间的区别。我不知道这些在不同平台上是否意味着不同的东西,但是 FWIW,我正在使用 JFrog。