我正在尝试使用Maven作为构建工具,为一个简单的Spring启动应用程序编写github操作管道。构建和验证成功,但将Jar部署到Github注册表失败,出现错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project space-management-system: Failed to deploy artifacts/metadata: Cannot access registry=https://maven.pkg.github.com/Pranav3105/osmosis with type default using the available connector factories: BasicRepositoryConnectorFactory: Cannot access registry=https://maven.pkg.github.com/Pranav3105/osmosis using the registered transporter factories: WagonTransporterFactory: java.util.NoSuchElementException
[ERROR] role: org.apache.maven.wagon.Wagon
[ERROR] roleHint: registry=https
这是我的pom。xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
</parent>
<groupId>com.mindtree</groupId>
<artifactId>space-management-system</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
<name>space-management-system</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
<dependencies>
.........
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<finalName>${project.artifactId}-${project.version}</finalName>
</build>
<profiles>
<profile>
<id>sonar</id>
<properties>
...sonar properties.....
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.7.0.1746</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>sonar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<distributionManagement>
<repository>
<id>github</id>
<name>pranav3105</name>
<url>registry=https://maven.pkg.github.com/Pranav3105/osmosis</url>
</repository>
</distributionManagement>
</project>
这是我创建的工作流文件:
name: Master Branch
on:
push:
branches:
- 'master'
jobs:
test:
name: Test - Units & Integrations
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11.0.4
- name: Maven Package
run: mvn -B clean package -DskipTests
- name: Maven Verify
run: mvn -B clean verify -DskipTests
sonar:
name: Test - SonarCloud Scan
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11.0.4
- name: SonarCloud Scan
run: mvn -B clean verify -DskipTests -Psonar -Dsonar.login=${{ secrets.SONAR_TOKEN }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
artifact:
name: Publish - GitHub Packages
runs-on: ubuntu-18.04
needs: [test, sonar]
steps:
- uses: actions/checkout@v1
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11.0.4
- name: Publish artifact on GitHub Packages
run: mvn -B -e -X clean deploy -DskipTests
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
我还尝试将服务器标记settings.xml,在maven部署阶段将其作为参数传递,但同样的错误也失败了。
我认为您应该从distributionManagement的开始删除“registry=”
<distributionManagement>
<repository>
<id>github</id>
<name>pranav3105</name>
<url>https://maven.pkg.github.com/Pranav3105/osmosis</url>
</repository>
</distributionManagement>
看看这个回购协议,这是一个很好的例子。
我想从公共repo的GitHub操作部署到GitHub包注册表。 我有一个工作流的yml文件: 我使用Leiningen构建项目并生成POM文件。然后我想使用Maven将工件部署到GitHub包注册表。 命令失败(我已将个人信息替换为): 我看到身份验证失败了。我也尝试过这一步,但效果相同: 我不想提供用户名/密码或令牌,因为这是一个公共存储库。有什么办法可以出版吗? 谢谢!
我正在努力使用github actions工作流将maven项目部署到github包中。首先,这里是我在阶段遇到的错误: (信息:我用[括号]中的一般术语取代了非必要和/或私人的具体信息) (信息:括号中的值与前面相同) 最后,我的maven项目的父pom.xml: 也许说GitHub存储库完全属于我也很重要,因此我应该拥有它的所有管理权限。 null 首先,我使用这个网站作为我的参考。 我基本上
我有一个Github repo项目,使用Github操作和一个docker文件来构建SpringBoot Java项目 我想从Github repo下载来自Github repo的定制工件包,并能够将工件上传到其中。 所以我按照配置Apache Maven用于GitHub包的链接,将该部分添加到settings.xml文件中: 为了从dockerfile构建中发布包,我在pom.xml中添加了以下
在本教程中,我们将会使用 Travis CI 将 Hexo 博客部署到 GitHub Pages 上。Travis CI 对于开源 repository 是免费的,但是这意味着你的站点文件将会是公开的。如果你希望你的站点文件不被公开,请直接前往本文 [私有 Repository](#私有 Repository) 部分。 新建一个 repository。如果你希望你的站点能通过域名 <你的 GitH
我的用例是,我希望每个构建/运行的工件都有一个唯一的版本号。对于CircleCI、Travis等当前工具,有一个可用的构建编号,它基本上是一个不断上升的计数器。因此,我可以创建版本字符串,如0.1.0-27。即使对于相同的提交,此计数器也会每次增加。 如何使用GitHub Actions做类似的事情?Github操作只提供GITHUB_SHA和GITHUB_REF。
我正在尝试从Github操作将静态内容部署到AWS3。我创建了AWS id和秘密环境变量 并将其作为main.yml 但Github操作失败并出错 工作流文件无效 详细信息每个步骤都必须定义uses或run键