hexide-digital / gitlab-deploy
准备项目部署
Requires
- php: ^8.1
- deployer/deployer: ^7.3
- graham-campbell/gitlab: ^7.5
- guzzlehttp/guzzle: ^7.4
- http-interop/http-factory-guzzle: ^1.0
- laravel/framework: ^9.0 || ^10.0 || ^11.0
- spatie/laravel-package-tools: ^1.13.0
- symfony/console: ^6.0 || ^7.0
- symfony/process: ^6.0 || ^7.0
- symfony/yaml: ^6.1 || ^7.0
Requires (Dev)
- laravel/pint: ^1.14.0
- nunomaduro/collision: ^7.10 || ^8.0
- nunomaduro/larastan: ^2.9.2
- orchestra/testbench: ^7.22.1 || ^8.21.1 || ^9.0
- pestphp/pest: ^2.34.1
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3.1
- phpstan/phpstan-deprecation-rules: ^1.1.4
- phpstan/phpstan-phpunit: ^1.3.16
- dev-master / 1.x-dev
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- v1.0.0-RC.2
- v1.0.0-RC.1
- v1.0.0-beta.3
- v1.0.0-beta.2
- v1.0.0-beta.1
- v1.0.0-beta
- v1.0.0-alpha
- 0.x-dev
- v0.6.0
- v0.5.0
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.0
- v0.1
- dev-deploy-helper
- dev-testing-with-workbench
- dev-feat/file-validating
- dev-changes
This package is auto-updated.
Last update: 2024-09-08 12:27:02 UTC
README
此包旨在优化和改进公司在Gitlab环境中的持续集成/持续部署(CI/CD)。
需求
此包版本需要PHP 8.1,并支持Laravel 9-11。
本地机器和远程服务器上必须安装SSH代理。
远程服务器必须使用GNU/Linux。
依赖关系
此包使用GitLab API创建CI/CD变量,由包graham-campbell/gitlab
提供支持。
部署使用deployer/deployer
。
为了渲染美观的终端输出,使用nunomaduro/termwind
。
安装
添加依赖
您可以使用Composer安装此包。
composer require --dev hexide-digital/gitlab-deploy:^1.3
如果您使用的是Composer 2.4及以上版本,我们建议运行bump
命令以锁定最新版本。
composer bump "hexide-digital/gitlab-deploy"
安装后,此包将自动注册其服务提供者。
用法
安装和发布文件
要发布部署和示例文件,请运行以下命令
php artisan deploy:install
要复制的文件示例位于此文件夹。
配置和准备访问
打开.deploy/deploy-prepare.yml
并填写所有必要的选项。
对于大多数情况,只需指定以下选项
但是,对于每个阶段都可用以下选项
- 仓库URL
php
和composer
的执行器路径- 对服务器的访问
- 对数据库的访问
- 对邮件主机的访问(但可以省略)
运行配置命令
基本启动
您可以通过运行以下命令开始配置特定阶段名称
(例如,针对dev
分支)的项目部署
php artisan deploy:gitlab dev
通常,阶段名称必须与git分支名称相同。
执行命令后
如果所有任务完全执行,要启用自动部署,请转到“设置”->“CI/CD”->“变量”,并将CI_ENABLED
的值更改为1
。之后,当您编辑配置了部署的分支时,Gitlab将自动运行CI/CD Pipeline。
仅打印启动
如果您想手动执行命令或仅为未来的部署做准备,在调用命令时设置--only-print
选项。所有命令和示例都将写入位于.deploy/logs
文件夹中的日志文件。剩下的只是复制并执行文件中的命令。
Gitlab提示
Gitlab API访问令牌
为了创建变量和其他部署选项,您需要授予对仓库设置的访问权限。此软件包使用Gitlab API方法,通过访问令牌进行。
我们建议创建一个个人访问令牌,并将其用于未来的部署配置。为此,请转到个人资料
-> 访问令牌
并点击添加新令牌
。
然后填写以下选项
- 令牌名称 - 您用于识别令牌的名称,例如
token_for_deployments
- 过期日期 - 默认情况下,自动指定1个月,但可以设置更长的时间或删除此日期
- 作用域 - 此软件包只需要
api
作用域,但您可以添加更多作用域
然后点击创建个人访问令牌
。
创建后,复制此令牌并保存在安全的地方,因为您将无法再次访问它,并在部署配置文件中设置。
如果您不想使用和创建个人令牌,您可以创建仅对仓库有访问权限的项目令牌。
要获取访问令牌,请按照以下路径操作:设置
-> 访问令牌
并点击添加新令牌
。
填写以下选项,如下所示
- 令牌名称 - 任何名称,例如
deploy_dev
、deploy_prod
等。 - 过期日期 - 建议设置为1-2天(这将足够)
- 角色 - 选择
维护者
- 这对于更改仓库设置的能力是必要的 - 作用域 - 仅选择
api
,对于此软件包将足够
然后点击创建项目访问令牌
以查看令牌,复制它并设置在部署配置文件中。
项目ID
打开仓库的主页,在顶部您可以看到仓库信息和项目ID。它也可以通过右侧的按钮进行复制。
我能雇佣你们吗?
是的!打个招呼:hello@hexide-digital.com 我们很高兴与您合作!我们完成的其他工作