什么是CircleCICCircleCI是一个持续集成/持续部署服务,开源项目可以免费使用,它的价格取决于你需要的并发构建实例数,单个实例是免费的。添加ssh密钥$sshhost_name$cd~/.ssh/$ssh-keygen-trsa创建公钥(.pub)和私钥$catid_rsa复制私钥一切要使CircleCI能够将文件发送到服务器,请单击单击“构建”屏幕上项目名称旁边的cog以访问项目的构建设置。在“设置”屏幕上,找到“权限”部分下的“SSH权限”链接。单击添加SSH密钥按钮并添加服务器的主机名和私钥的内容要将此密钥导入CI环境,我们使用add_ssh_keys添加SSH密钥后,CircleCI在设置屏幕上显示密钥的指纹。复制这个指纹并将其插入到上面的命令中,我们的构建环境现在可以使用密钥了。提供用于验证的主机密钥当CircleCI服务器尝试连接到您的主机时,它可能会提示您验证主机密钥。提示是自动化的氪石:CI环境将无限期挂起,等待用户的响应。可以禁用此验证,但将正确的密钥添加到known_hosts文件是更好的解决方案。CircleCI没有用于添加主机密钥的语义解决方案,但一种选择是将主机密钥添加为环境变量。要添加环境变量,请转到您的项目设置并单击“构建设置”下的“环境变量”链接。单击添加变量按钮并添加一个以REMOTE_HOSTKEY服务器主机密钥的内容命名的新值。获取hostkey,请在终端运行以下命令复制ipecdsa-sha2-nistp256开头的所有内容,$cd~/.ssh/paste到known_hosts新建环境变量在此新建环境变量page$REMOTE_HOSTKEY//刚刚复制了主机密钥$SSH_USER//服务器用户名$SSH_IP//服务器ip然后我们可以在构建环境中使用这个变量将主机密钥添加到known_hosts文件中部署命令剩下的就是传输文件到远程服务器最终配置文件版本:2.0作业:构建:docker:-图像:circleci/node:最新工作目录:~/circleci-demo-workflows步骤:-结帐-运行:sudonpminstall-gnpm@6-运行:npminstall-save_cache:key:v1-dependencies-{{checksum"package.json"}}paths:-node_modules-运行:npmrunbuild-运行:echo'deploymentstarted'-运行:sudoapt-getupdate&&sudoapt-getinstallrsync-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"-运行:echo$REMOTE_HOSTKEY>>~/.ssh/known_hosts-部署:名称:部署命令:|如果["${CIRCLE_BRANCH}"="master"];然后rsync-avcesshbuild$SSH_USER@$SSH_IP:/data/corki-ui-web/elseecho"Notmasterbranch,dryrunonly"fi-run:echo'deploymentcomplete'workflows:version:2scheduled-workflow:触发器:-计划:cron:“00***”过滤器:分支:仅:主作业:-构建代码流:安装特定版本的npm,sudonpminstall-gnpm@6installnpmpackagenpminstallcachefilesave_cachepackagenpmrunbuildinstalltr??ansfercommandsudoapt-getupdate&&sudoapt-getinstallrsync要恢复缓存keyrestore_cache,需要先缓存添加sshkeyadd_ssh_keys推送文件到服务器deployDeployment选择docker镜像(这里以node为例)开始构建示例Changes会自动发布,哈哈哈不用再手动发布了。博客欢迎关注我的博客
