CircleCI 是一个持续集成/持续部署的服务,开源项目可以免费使用,他的价格取决于你需要并发构建实例的数量,单个实例是免费的。
$ ssh host_name
$ cd ~/.ssh/
$ ssh-keygen -t rsa
创建公钥(.pub)和私钥
$ cat id_rsa
复制私钥所有内容
要使 能够将文件发送到服务器,单击"构建"屏幕上项目名称旁边的 来访问项目的构建设置。在设置屏幕上,找到权限部分下的 权限链接。单击" 添加 密钥"按钮,然后添加服务器的主机名和私钥的内容CircleCI
cog
SSH
SSH
要将此密钥导入 环境,我们使用 添加 SSH 在设置屏幕上显示密钥的指纹。复制此指纹并将其插入上述命令,我们的构建环境现在可以使用该密钥。CI
add_ssh_keys
密钥后,CircleCI
当 服务器尝试连接到您的主机时,它可能会提示您验证主机密钥。提示是自动化的氪星石: 环境将无限期挂起,等待用户给出响应。可以禁用此验证,但将正确的密钥添加到 文件是一个更好的解决方案。没有用于添加主机密钥的语义解决方案,但一种选择是将主机密钥添加为环境变量。要添加环境变量,请转到项目设置,然后单击"构建设置"下的"环境变量"链接。单击" 添加变量"按钮,然后添加一个以 服务器主机密钥内容命名的新值。要获取主机密钥,请在终端中运行以下CircleCI
CI
known_hosts
CircleCI
REMOTE_HOSTKEY
复制下 这个开头的所有内容,粘贴到ip ecdsa-sha2-nistp256
$ cd ~/.ssh/
known_hosts
在这个页面进行新建环境变量
$REMOTE_HOSTKEY //刚复制的主机密钥 $SSH_USER // 服务器用户名 $SSH_IP // 服务器ip
然后我们可以在构建环境中使用此变量将主机密钥添加到 文件中known_hosts
剩下的就是将文件传输到远程服务器上
针对 分支进行master
version: 2.0 jobs: build: docker: - image: circleci/node:latest working_directory: ~/circleci-demo-workflows steps: - checkout - run: sudo npm install -g npm@6 - run: npm install - save_cache: key: v1-dependencies-{ { checksum "package.json" }} paths: - node_modules - run: npm run build - run: echo '部署开始' - run: sudo apt-get update && sudo apt-get install rsync - restore_cache: keys: - v1-dependencies-{ { checksum "package.json" }} - v1-dependencies - add_ssh_keys: fingerprints: - "bd:dd:23:90:d7:86:80:d8:92:31:1b:41:09:09:27:87" - run: echo $REMOTE_HOSTKEY >> ~/.ssh/known_hosts - deploy: name: deploy command: | if [ "${CIRCLE_BRANCH}" = "master" ]; then rsync -avce ssh build $SSH_USER@$SSH_IP:/data/corki-ui-web/ else echo "Not master branch, dry run only" fi - run: echo '部署完毕' workflows: version: 2 scheduled-workflow: triggers: - schedule: cron: "0 0 * * *" filters: branches: only: master jobs: - build
代码流程:
npm
sudo npm install -g npm@6
npm
npm install
save_cache
npm run build
sudo apt-get update && sudo apt-get install rsync
key
restore_cache
ssh
add_ssh_keys
deploy
选择环境
docker
node
超级简单有木有,部署完成后,只要 分支有了改动,就会自动发布,哈哈哈。再也不用去手动发布了。master
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者