Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Jenkins部署网站_Javascript_Jenkins_Babeljs_Jenkins Workflow - Fatal编程技术网

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:

  • 在Jenkins中创建新的构建作业很简单:只需单击Jenkins仪表板上的“新建作业”菜单项。
    • 自由式构建作业是通用构建作业,提供了最大的灵活性
    • 您还可以复制现有作业,这是创建与现有构建作业非常相似的新作业的好方法,除了一些配置详细信息
  • 添加源代码管理
    • 选择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工作,所以明天早上对我来说是这样:)非常感谢你为什么不发表任何评论就投反对票?