小编Ale*_*eau的帖子

Heroku CI Pipeline - 在构建之间缓存 gems

我刚刚在 Heroku 上设置了一个 Ruby on Rails 应用程序,但是,我遇到了 CI 设置性能问题,这很烦人。

在设置我们的单元测试期间,Heroku 总是重新安装我们的 gems,生成如下日志:

Fetching activestorage 6.0.2.2
Installing activestorage 6.0.2.2
Run Code Online (Sandbox Code Playgroud)

设置我们的应用程序时不是这种情况,因为它显示的是这样的行:

Using activestorage 6.0.2.2
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,bundler 看起来都使用正确的参数调用:

(用于 CI 设置)

Running: bundle install --without development --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
Run Code Online (Sandbox Code Playgroud)

(用于应用程序设置)

Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我们都有这样的行:

Bundled gems are installed into `./vendor/bundle`
Run Code Online (Sandbox Code Playgroud)

所以,我想知道:你知道为什么 Heroku 不在 CI 测试设置之间缓存 gems,而在我们的应用程序的后续构建过程中是这样吗?如果是,有没有办法强制重用以前安装在我们 CI 管道中的 gem?这需要花费大量时间,并且可以从中受益。

非常感谢

ruby rubygems ruby-on-rails heroku

7
推荐指数
1
解决办法
287
查看次数

在 bitbucket 上留下一个存储库

去年,我和其他人一起在一个计算机科学项目上工作。因此,我创建了一个 bitbucket 存储库并邀请了所有人。我们彼此非常了解,每个人都是存储库的管理员,而我是所有者。

今天,我想清理我的 bitbucket 存储库列表。但是,我找不到如何离开存储库。当我进入设置菜单时,我唯一能做的就是“删除存储库”。这不是我想要做的,因为我想将存储库留给其他人。

对于某些存储库(当我不是所有者时),我可以撤销自己,但对于其他存储库,我不能。你知道我该怎么做吗?我想找到一种无需进行所有权转让的解决方案,因为它涉及提出转让请求,然后等待一段时间才能得到答案。

谢谢

bitbucket

6
推荐指数
2
解决办法
3023
查看次数

发布 golang 模块:语义版本控制

我一直在尝试为我的 Web 应用程序创建和发布 golang SDK:https://datelist.io 一切都在我的本地设置上运行良好。然而,一旦我想将我的 SDK 发布到https://pkg.go.dev/网站,事情就开始变得更加困难

我想发布的代码可以在那里找到:github.com/datelist/datelist-sdk-golang

我读过一些教程,如果我理解正确的话,我所需要的就是:

  • 创建我的公共存储库
  • 在我的存储库的根目录中添加一个 go.mod 文件
  • 请求 proxy.golang.org 网站将我的更改编入索引

我尝试了不同的方法来索引我的更改,并且根据该链接: https: //go.dev/about/ 一旦解决方案是访问该页面: https: //proxy.golang.org/MYMODULE_PATH

我因此尝试过: https://proxy.golang.org/github.com/datelist/datelist-sdk-golang/@v/v1.0.0.info

但是,我遇到以下错误: not found: github.com/datelist/datelist-sdk-golang@v1.0.0: invalid version: unknown revision v1.0.0

我尝试过不同的事情。我在我的 github 存储库上发布了两个标签:v1.0.0 和 1.0.0,但它不起作用。我已经检查过:我的代码看起来有效,并且该版本似乎存在,因为我可以访问: https: //proxy.golang.org/github.com/datelist/datelist-sdk-golang/@v/ce18fa0756c2。 然而,在将我的 SDK 添加到 go.dev 时,我陷入了困境

提前致谢

publish go go-packages

6
推荐指数
1
解决办法
1378
查看次数

使用+运算符时类型不匹配

我目前正在尝试学习如何使用Scala,但我遇到了一些语法问题.

当我输入scala提示时:

import scala.collection.immutable._
var q = Queue[Int](1)
println((q+1).toString)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

<console>:12: error: type mismatch;
 found   : Int(1)
 required: String
              println((q+1).toString)
Run Code Online (Sandbox Code Playgroud)

我只是想使用如下定义的队列的重载+运算符:

def + [B>:A](elem:B):队列[B]创建一个新队列,并在旧队列的末尾添加元素.参数elem - 要插入的元素

但似乎scala做了字符串连接.那么,你能帮助我理解如何将一个元素添加到队列中(不使用完美的enqueue;我想使用+运算符)?也许,你能否给我一些关于那种对初学者来说有点奇怪的行为的解释?

谢谢

scala overloading operator-keyword

0
推荐指数
1
解决办法
224
查看次数