Javascript 如何使用Jenkins部署网站
好的,我对正在工作的网站进行了以下设置:Javascript 如何使用Jenkins部署网站,javascript,jenkins,babeljs,jenkins-workflow,Javascript,Jenkins,Babeljs,Jenkins Workflow,好的,我对正在工作的网站进行了以下设置: GitLab上的git存储库(如果重要的话) 与我的域关联的生产服务器 网站架构: Hack和hvm(我必须为此运行单元测试) Babel(需要在部署时编译为JavaScript) SCSS(部署时需要传输到CSS) 在部署时也需要调整的配置文件 示例文件树 . ├── index.html ├── bin | └── my Hack scripts ├── dev-res | ├── style (SCSS files) | └─
- GitLab上的git存储库(如果重要的话)
- 与我的域关联的生产服务器
- Hack和hvm(我必须为此运行单元测试)
- Babel(需要在部署时编译为JavaScript)
- SCSS(部署时需要传输到CSS)
- 在部署时也需要调整的配置文件
.
├── index.html
├── bin
| └── my Hack scripts
├── dev-res
| ├── style (SCSS files)
| └── js (Babel JS files)
├── res
| ├── style (transpiled css files)
| ├── js (compiled Babel JS files)
| └── other resosurces
├── tests/
├── vendor/
├── node_modules/
├── Gulpfile.js
├── package.json
├── composer.json
└── .gitignore
这是我计算机中项目的一个假设文件树(因此,是用于开发的文件树)。我有composer.json
和composer依赖项,我有package.json
和节点模块,我有未编译的SCSS和Babel JS文件
对于开发和本地测试,将安装所有依赖项,并且所有这些原始资源将被编译并保存在res
目录中,但它们将被添加到.gitignore
中,以避免污染存储库
这应该如何发生?
我点击了git push。GitLab会触发一个指向我的Jenkins实例的Web钩子(我知道如何实现这一点)。Jenkins将存储库克隆到工作目录中,获取并安装所有依赖项,运行服务器端测试并传输/编译所有资源,删除所有开发资源(*.scss
,/dev res/*.js
,composer.json
,package.json
)
我决定Jenkins是解决这类问题的好办法,因为我可以在自己的服务器上托管它。我知道我的问题可能太复杂了,你不可能在这里写完整的教程,但是我需要一些指导,一个关于这个过程应该如何处理的大纲,以及一些好的阅读材料 回答这个问题的方法太多了,我几乎可以从头顶上想出5个。但是为了时间和空间的利益,让我给你我最好的答案 我认为这将更好地实现使用。此链接将帮助您获得该方面的设置。接下来,您将需要 现在让我们配置您的项目 你将需要做一个自由式的构建。输入git存储库信息和凭据后,需要配置构建本身。作为补充说明,我会将工作区配置为在每次构建时删除,以便package.json依赖项不会占用构建主机上的空间。 现在是构建配置。我希望您有一个存储工件的地方,因此我的步骤是使用artifactory:
- 自由式构建作业是通用构建作业,提供了最大的灵活性
- 您还可以复制现有作业,这是创建与现有构建作业非常相似的新作业的好方法,除了一些配置详细信息李>
- 选择Git
- 添加您的存储库链接
- 选择适当的凭据
- 选择适当的分支
- 在生成开始之前选中“删除工作区”
- 检查并提供配置文件
- 选择
artifactorynpmrc
- 在目标字段中输入:
.npmrc
- 选择
- 添加构建步骤
- 完成菜单并选择ExecuteShell
- 输入以下命令:
#!/bin/bash
npm install --registry=http://artifactory.com:8081/artifactory/api/npm/npm-virtual
npm publish --registry=http://artifactory.com:8081/artifactory/api/npm/npm-private
你好请你和我一起来好吗?也许我们可以为今晚定个时间。我现在在太平洋标准时间时区(加利福尼亚州旧金山),但我非常高兴能以任何方式帮助你。太平洋标准时间晚上7点到晚上9点在GMT+2:00(罗马尼亚布加勒斯特)为meI-am工作,所以明天早上对我来说是这样:)非常感谢你为什么不发表任何评论就投反对票?