查看凭证
1 | git config --global credential.helper |
- manager 这种方式,在windows环境下会被window凭证管理
- store git凭证会默认创建在
cat ~/.git-credentials
文件下
CI/CD
是GitLab内置的工具,用于通过连续方法进行软件开发持续集成
的工作原理是将小的代码块推送到Git存储库中托管的应用程序代码库中,并且每次推送都运行一系列脚本来构建,测试和验证代码更改,然后再将其合并到主分支中。GitLab Runner
是一个开源项目,用于运作任务,并把结果发送回GitLab,它与GitLab CI一起使用。修改配置文件
1 | vi /etc/gitlab/gitlab.rb |
使配置生效
1 | gitlab-ctl reconfigure |
启动
1 | gitlab-ctl start |
安装文档
https://docs.gitlab.com/runner/install/linux-manually.html
项目中配置
默认 gitlab-runner 安装使用 gitlab-runner 用户执行命令,这里会遇到用户权限问题,需要修改用户权限或者修改默认用户。
修改默认用户为 root
1 | sudo gitlab-runner uninstall |
查看用户是否修改成功
1 | [root@localhost ~]# ps aux | grep gitlab-runner |
对需要自动化构建的项目注册 gitlab-runner
1 | [root@localhost ~]# sudo gitlab-runner register |
查看注册成功后的项目
1 | [root@localhost ~]# cat /etc/gitlab-runner/config.toml |
安装 sshpass ssh只能回车后输入密码登录
1 | yum -y install sshpass |
添加 ssh key 自动化执行脚本,clone项目避免输入用户名和密码;没有 ssh key 需要自己手动生成
获取 key
1 | cat ~/.ssh/id_rsa.pub |
生成 key
1 | ssh-keygen -t rsa -C "your.email@example.com" -b 4096 |
配置 key
设置变量 .yml 文件中会做 ssh 登录操作,像 password,ip 这些信息不便直接写在脚本中
前端 .yml 文件示例
1 | stages: # 分段 |
node 后端 .yml 文件示例
1 | stages: # 分段 |
Rclone
是一个命令行程序,用于管理云存储上的文件。它是云供应商Web存储界面的功能丰富的替代方案。超过40种云存储产品支持rclone,包括S3对象存储,业务和消费者文件存储服务以及标准传输协议。Rclone具有等效于unix命令rsync,cp,mv,mount,ls,ncdu,tree,rm和cat的强大的云功能。 Rclone熟悉的语法包括Shell管道支持和–dry-run保护。它可在命令行,脚本或通过其API使用。用户将rclone称为“云存储的瑞士军刀”和“与魔术不可区分的技术”。
amazon (S3)
是一个公开的服务,Web 应用程序开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档。 S3 提供一个 RESTful API 以编程方式实现与该服务的交互。
1 | curl https://rclone.org/install.sh | sudo bash |
~/.config/rclone/rclone.conf
1 | [root@localhost ~]# cat .config/rclone/rclone.conf |
--transfers
设置并发数量 -P
显示实时进度1 | rclone sync -P oss-cn-beijing:bucket-test007 minio:test --transfers=10 |