continuous-integration

GitlabHQ + Gitlab-CI:自定义构建逻辑
continuous-integration

GitlabHQ + Gitlab-CI:自定义构建逻辑

我们在基础架构中使用 GitlabHQ 和 Gitlab-CI。有了这样的持续集成设置,我们愿意在 CI 中自定义构建逻辑。 现在,新的提交 GitlabHQ 会触发 CI 的钩子,它会告诉 gitlab-ci-runner 运行构建或测试。 Runner 具有硬编码逻辑(至少在 Web UI 中不可定制),并且在运行用户定义的脚本之前会发出以下命令: cd $HOMEDIR/gitlab-ci-runner/tmp/builds && git clone git@$GITLABSERVER:root/test1.git project...

Admin

Azure 持续部署 MSBUILD 错误
continuous-integration

Azure 持续部署 MSBUILD 错误

我在 Azure 中有一个网站,配置为标准网站。该网站配置为在云中使用 TFS2012 进行持续部署。最初,我一直在使用,HostedController一切都运行正常。只要我签入变更集,TFS 就会触发BuildEvent。BuildEvent编译代码并将其按预期放置在 Drop 文件夹中。然后成功将其部署到 Azure 网站。 我一直在使用 AzureContinuousDeployment 构建模板。我所做的唯一更改是在本地服务器上安装 TFS2012。我已成功将其配置为使用云中的 TFS2012 集合,并设置了构建代理。 现在,当我将相同的 Bu...

Admin

在 Git Push 时执行 cURL
continuous-integration

在 Git Push 时执行 cURL

我对运行 Git 服务器还很陌生,我需要在推送到 Git 时触发 Jenkins 构建。 教程说要执行以下命令: 卷曲http://[詹金斯]/git/notifyCommit?url=[作业] 但它没有告诉您如何在 git push 时触发该 cURL。我理解错了吗?如果没有,我该怎么做?如果理解错了,我应该用这个命令做什么? ...

Admin

测试成功后,Jenkins 的测试后操作:提取更改并重新启动播放服务器
continuous-integration

测试成功后,Jenkins 的测试后操作:提取更改并重新启动播放服务器

我目前有一台服务器,运行着一个 Play Framework 实例。这个 Play 网站的源代码位于一个 GitHub 存储库中。当存储库发生变化时,它会触发 Jenkins 来拉取并测试新的源文件。 我现在喜欢做的是,它会说类似“如果构建成功,将服务器上的新代码拉到指定目录中并重新启动播放实例”之类的话。 实现这一目标的最佳方法是什么?我认为一个简单的 bash 后测试脚本就可以工作,但我想知道是否还有更简洁的方法。 提前致谢。 ...

Admin

将软件部署到远程服务器时,保护凭据的安全方法是什么?
continuous-integration

将软件部署到远程服务器时,保护凭据的安全方法是什么?

如果我想通过 Jenkins Atlassian Bamboo 等 CI 服务器将某些软件部署到远程服务器(例如 Heroku 或我自己的具有 SSH 访问权限的 VM),那么有什么有效的方法可以保证 MySQL 密码等信息的安全?我的数据库(可能)包含一些非常敏感的信息,将密码保存在某些第三方(例如 Atlassian)的服务器上让我彻夜难眠。理想情况下,我希望它永远不会接触第三方,但我很乐意让它只是通过而不被存储。 我意识到这对于问答形式来说不是一个很好的问题,但是我会尽可能具体地回答。 ...

Admin

独立配置测试.htaccess 文件
continuous-integration

独立配置测试.htaccess 文件

我知道apachectl有这个configtest选项,但据我所知,它只能用于检查系统 apache 的整个配置链。我希望有一个工具可以作为持续集成工具链的一部分来测试单个 .htaccess 文件是否存在错误。有没有办法用或不用 apachectl 来做到这一点? ...

Admin

有没有免费的 rocky linux 监控工具?
continuous-integration

有没有免费的 rocky linux 监控工具?

我目前正在寻找一种工具来监控两台 Rocky Linux 台式计算机的性能。它应该监控 CPU、RAM、磁盘和网络使用情况等方面(类似于 Windows 任务管理器,但持续监控)。数据应保存至少一年(或理想情况下永久保存)。此外,数据应可视化,以便于轻松了解当前状态。如果我可以收到一些警告(例如,如果磁盘空间不足),那就太好了,但这不是必备功能。理想情况下,我还可以在 Windows PC 上查看两台 PC 的当前状态。有没有可以提供此功能的免费工具? ...

Admin

Docker 中的 Jenkins 共享 docker.sock
continuous-integration

Docker 中的 Jenkins 共享 docker.sock

为了设置 Jenkins CI 管道,我在 Docker 容器中运行 Jenkins,并配置为使用 Docker Cloud Agents 进行构建。因此,我有一个运行 Jenkins 主服务器的容器,n弹出容器来接受构建请求。管道必须构建 Docker 镜像、推送它们并更新 Docker 服务,我没有使用 DinD 来执行此操作,而是在 Docker Cloud Agents 中安装了 Docker,并采用了共享(通过 Docker 卷)docker.sock 文件解决方案。这会带来一些不良后果吗?我在这里读到了一篇好文章(我采用的解决方案在最后一节中有清...

Admin

应如何针对不同环境配置数据库以避免丢失数据
continuous-integration

应如何针对不同环境配置数据库以避免丢失数据

如何为开发、准备和生产环境配置数据库,以免丢失任何数据。许多应用程序(例如 Wordpress、Django 等)都使用一些数据库来存储数据。现在,如果我要实现这样的设置。复杂的事情就是数据库。因为准备环境和生产环境中的数据会有所不同。因此,当我尝试以某种方式合并两者时,是否会出现问题或数据丢失。当我尝试托管不同的环境时,应该考虑什么。 ...

Admin

无法通过 ssh 隧道在远程主机上执行嵌套命令
continuous-integration

无法通过 ssh 隧道在远程主机上执行嵌套命令

我在我的 GitLab CI 作业中运行以下命令: ssh ${REMOTE_HOST} "docker restart $(docker ps --format '{{.Names}}' | grep '^backend')" 问题是它返回以下错误: /usr/bin/bash: line 156: docker: command not found "docker restart" requires at least 1 argument. 我知道它docker确实存在并且可以在远程主机上运行,​​因为我可以登录到主机的 shell 并自己执行 do...

Admin

使用 Gitlab、Foreman 和 Puppet 进行持续交付
continuous-integration

使用 Gitlab、Foreman 和 Puppet 进行持续交付

我们使用不同的工具来协调我们的环境。一方面,我们使用 Puppet 和 Foreman 来部署不同的服务器应用程序,另一方面,我们使用 Gitlab 来管理问题,并与 Git 合并请求集成。我们有一个运行测试的 Gitlab 管道。 我们希望改进集成,并能够从 Gitlab 向所有服务器交付服务器应用程序。该怎么做?我们可以将流程从 Gitlab 链接到 Foreman 再链接到 Puppet 节点吗?或者直接从 Gitlab 启动 Puppet 部署是否更好(并且可能)? ...

Admin

密码验证有效,但连接到安装在 Windows Server 2019 上的 OpenSSH 服务器时公钥验证失败
continuous-integration

密码验证有效,但连接到安装在 Windows Server 2019 上的 OpenSSH 服务器时公钥验证失败

我正在尝试通过 SSH 连接到 Windows Server 2019,以便使用 GitLab CI/CD 管道部署我的 Web 应用程序,因此我在其上安装了 OpenSSH 服务器,如果我使用密码验证登录,一切都正常。 Start-service sshd但是,如果我通过 Powershell 或使用类似的 GUI启动服务services.msc,则无法连接,连接会关闭并显示debug3: recv - from CB ERROR:10054, io:000001AE1C4C53E0消息 以下是使用选项连接时 ssh 客户端上的最后几行输出-vvv: Au...

Admin

保持 GitLab 环境在 Docker 容器中运行
continuous-integration

保持 GitLab 环境在 Docker 容器中运行

我的目标是部署一个测试环境。这是一个 PHP 应用程序,我可以使用嵌入式服务器简单地提供 PHP 文件。 我的 .gitlab-ci.yml 非常简单: docker_test: stage: deploy image: php:7.2 rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" environment: name: development/$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME url: $CI_SERVER_P...

Admin

无需 SSH 即可部署 monorepo
continuous-integration

无需 SSH 即可部署 monorepo

全面披露:我是 DevOps 新手。 我在 EC2 实例上运行 MERN mono 存储库。最初,我总是通过 SSH 进入我的计算机,从存储库中提取数据,然后重新构建。但这样做存在问题……构建过程需要更长的时间,因此当 SSH 连接有时中断时,构建过程就会终止。这种情况经常发生,使得部署变得困难。 我考虑了一下,确信有一项服务可以做到这一点:我可以在我的存储库(BitBucket)中使用 CI/CD 管道,因此当主分支上有提交时,它可以 ping 我的实例,然后我的实例上运行一个应用程序,当它收到此 ping 时,拉取、重建并重新启动存储库。因此,由于它将是...

Admin

构建管道以将 .jar 包上传到 AWS Lambda
continuous-integration

构建管道以将 .jar 包上传到 AWS Lambda

到目前为止,根据文件https://docs.aws.amazon.com/lambda/latest/dg/java-package.html,将 .jar 代码上传到 AWS Lambda 函数的唯一方法是通过其 Web 界面手动上传文件。 有没有办法在 Maven 构建或其他管道中上传文件? ...

Admin