问题标签 [satis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Satis Private Repository - satis.json 结构
编辑
我想我误解了satis,现在这是我的新理解,如果我错了,请纠正我:
在 satis.json 中,我必须指定要镜像的包的 url,例如,学说 git repo、yaml git repo... 然后 satis 将所有这些包镜像到我的服务器上。这意味着我需要将项目的 composer.json 中使用的所有包添加到 satis json(大约 20 个包/要求)。现在,我可以将我的私有 satis 存储库添加到我的项目的 composer.json 文件中,并且在运行“composer update”时,它将首先在 satis 镜像包中查找所需的包。我理解正确吗?
情况:
我正在尝试将 Satis 用于私人作曲家存储库。我在 github 上有一个私人项目,用于我的网站。在项目中,我使用的是composer,因此我在项目的根目录上有一个composer.json。它看起来如下:
现在我想使用我的私有 url 满足存储库:packages.ait.company,在 apache 上运行并且到目前为止可以访问。satis.json 如下所示:
我认为我不太了解如何构建 satis.json 文件以及它需要包含什么,因为我尝试的方式是它不会下载我指定的“php”和“symfony/http-foundation”包在 composer.json 文件中 - 尽管它确实将项目的正确 composer.json 文件下载到 /satis/include 目录 json 文件中。
当我想从 github 读取我的项目的 composer.json 并构建“需要条目”的私有 satis 存储库时,satis.json 需要看起来如何?
php - Satis http基本身份验证 - 传递凭据
我已经设置了满足私人作曲家数据包管理器。Satis 在“packages.asc.company”上运行,我通过 apache2 http 基本身份验证保护了该站点,并且可以通过输入 http 基本身份验证凭据在浏览器中打开它。
现在我的问题是:在运行例如“composer update”时,如何以最佳和最安全的方式向作曲家传递凭据以访问 satis 站点?
目前,我在 apache .htpasswd 文件中只注册了一个带有密码的用户,并且需要将其凭据传递到某个地方才能从 composer 连接到 satis。
有两种情况我需要连接:
1)从开发过程中的项目
2)在持续集成过程中来自詹金斯。
3)编辑:SSL
我现在正在尝试使用 openssl 来保护登录时的凭据。在运行 apache 的 linux 上,我创建了一个私钥和一个 .crt 文件(请参阅:Apache SSL。在我的 linux 上,我现在可以打开 satis使用 https 打包页面,我什至将 http 重定向到 https,一切正常(我使用我自己的使用 openssl 生成的证书,因为它是一个内部应用程序,我不需要受信任的 ca)。
现在,当我从我的 Linux vm(这里我正在编码)切换到我的 Windows 并尝试运行 composer update 时,我收到以下错误消息:(主机文件配置正确)
[Composer\Downloader\TransportException]无法下载“ https://packages.asc.company/packages.json ”文件:SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:certificate验证失败 启用加密失败 无法打开流:操作失败
我错过了什么?我对 ssl 很陌生,但是现在阅读了一整天有关它的信息并且无法使其正常工作。
从getcomposer satis site,我有这些信息,但不知道如何使用它。
问候。
php - Composer - 将本地 repo 设置为首选
我刚刚在我的 PC 上设置了一个本地存储库,它工作得很好。
但问题是,当我安装一个包时,composer 工具首先检查的是 packagist 存储库,而不是我的本地存储库。我希望首先检查本地仓库。这个怎么解决???
这是我的全局 config.json
有什么帮助吗?
php - Satis,如何归档需要的依赖项?
我正在尝试为我所有的作曲家包设置我自己的满足服务器。许多包都依赖于 phpunit 或 phpmd 之类的东西。我想在我的满意中创建所有这些依赖项的档案。但 satis 仅从给定的存储库创建档案,不包括依赖项。
知道如何解决这个问题吗?
这是我的 satis.json
composer-php - Composer 没有使用“dist”版本,甚至被明确告知
我有一个托管在私有 git 存储库中的依赖项,并且正在使用 satis 进行包管理。我已将对 repo 主分支的提交标记为“1.0.0”,并在我希望使用该包的 composer.json 文件中指定
并且正在运行命令composer install --prefer-dist
因此,我已经指定了一个稳定的包版本这一事实应该确保作曲家不会只是克隆 repo(包括一个我不想要的 .git 文件夹),而是下载一个包。install 命令的额外配置标志和参数应该做同样的事情。尽管如此,composer 只是克隆了这个包。
composer-php - 满足私人回购更新工作流程
我在 GitHub 上有一个私人仓库,并在我的服务器上配置了 Satis。
Satis 只有一个我指定的标签,称为 0.9.1
一切正常,我使用 composer create-project 命令在我的计算机上创建一个带有 repo 内容的新项目,安装 composer 依赖项等。
现在的问题
假设 repo 继续开发,现在我有一个名为 0.9.2 的标签。
如何使用新的 repo 标签更新我机器上的项目。
我需要在 satis 服务器上执行其他任务吗?我需要在我的机器上运行一些命令吗?这种情况下最好的工作流程是什么?
特兰克斯
更新
我在 github 上的私人仓库 https://github.com/pablonunez-dev/myproject
我的仓库中的文件。
这是 composer.json 文件的内容
}
这是我在 satis 上的项目配置文件
现在,当我去我的电脑并运行时。
它运行良好并创建文件夹并使用结构从 composer.json 安装依赖项
现在,问题是,当我转到我的存储库并删除文件 file1.txt 并创建另一个名为 file3.txt 的文件时,提交、推送、重新创建 satis
如何使用 repo 更改更新我机器上的文件夹?
再次感谢
composer-php - 如何让 Satis 自动更新我所有项目的最新依赖项?
Satis本质上创建了一个本地的 packagegist 镜像,它可以下载所有你需要的包的副本以保持它们的缓存。
问题是您必须预先指定所有依赖项。由于几个项目的依赖关系不断变化,让 Satis 保持最新状态是一场噩梦。
我设想 Satis 的工作方式是,当我composer install
在我的项目上运行时,它会要求 Satis 提供我每个依赖项的副本。如果 Satis 还没有缓存它,它会查询 Packagist,下载一个副本,然后将它提供给我。下次我安装它会被缓存。如果 Pacakgist 然后出现故障,或者项目维护者从 Github 上删除了他的 repo,这无关紧要,因为 Satis 保留了一份副本。
有没有办法让萨蒂斯这样表现?或者是否有替代的Packagist 镜像可以做到这一点?
ssh - Satis、Bitbucket 和 SSH
我在我们的一台远程服务器上设置了一个 Satis 存储库,允许访问托管在 Bitbucket 上的私有包。我在该服务器上创建了一个 SSH 密钥对,并将公钥添加到我们的 Bitbucket 用户。以这种方式构建 Satis 效果很好。
现在,当我想composer install
在托管应用程序的任何远程服务器上执行操作时,除非我在该服务器上创建一个密钥对并将其公钥添加到 Bitbucket,否则我没有正确的权限。我不想对每个项目都这样做(环境的 3 倍)最终在我们的 Bitbucket 帐户中拥有近 100 个公钥。
如何避免这种情况?有没有办法让所有包都镜像到 Satis 存储库中,所以当composer install
你可以从 Satis 存储库中获取包时,无需使用公钥?
php - Composer / Satis - 关闭验证同行?
我正在尝试将 Satis 设置为与我在本地主机上安装的私有 Subversion 存储库通信。因为证书是自签名的,所以 satis 没有连接(我收到无法验证证书的消息)。由于用户身份验证信息,公司规则需要 HTTPS,所以我不能将 repo 切换为 HTTP。如何在 Satis 中禁用验证对等点?
这是我在 satis.json 中的 repo 配置:
php - 为 wordpress 主题和插件创建满足作曲家的私有存储库
我的目标是将一个composer.json
文件提交到我们的项目存储库,该文件指定应该为该项目使用哪些主题或插件,并且当开发人员拉下存储库时,他们需要做的就是运行 composer install。我们希望将插件排除在项目 repo 之外,以阻止项目 repo 的膨胀以及拉取和推送变得缓慢。
对于标准的 wordpress 插件,例如“WordPress.com 的 Jetpack”,这很好,因为我们将使用https://wpackagist.org/。但是,对于无法开源的插件和内部定制插件的高级付费,我们希望将它们托管在 Private Composer 存储库中。
因为我们将有这些插件的多个版本,所以我希望所有版本都显示,例如 1.1、1.2、1.3,以便开发人员可以在 composer.json 中指定需要哪个版本,例如,如果将来的版本出现问题并且我们需要回滚到以前的版本。
我已经阅读了设置 Satis 私有存储库的基础知识,但我无法让它遍历版本的 git 标签,也无法指定它是一个 Wordpress 插件并将其安装在正确的位置。
这是我第一次尝试获取所有带有 git 标记的版本:
这是我必须指定版本但将其安装在正确的 Wordpress 插件位置的地方:
谁能建议我如何让这两种情况一起工作?