小编Mer*_*sen的帖子

使用“无人机条件”运行构建部分存储库

我们的项目嵌套在单一存储库中。想象一下,我们在“projects”文件夹中有一个项目。例如“项目/我们的项目”。好吧,我们希望能够将我们的 .drone.yml 检查到“我们的项目”中,但看起来 Drone 想要项目根目录下的配置文件,这没关系,我们可以通过更改“命令”部分。我们遇到的麻烦是我们只想在“我们的项目”中的某些内容发生变化时运行构建。我找不到用 Drone 精确做到这一点的方法,所以我们下一个最接近的赌注是条件,我想我们可以为“我们的项目”创建命名空间的所有分支,比如“我们的项目/某个分支”。然后我们可以设置一个条件,只在“our-project/some-branch”和“master”上运行构建,这将限制我们从其他项目分支运行的“假构建”的数量:

build:
  when:
    branch:
      - master
      - our-project/*
Run Code Online (Sandbox Code Playgroud)

问题是当我们尝试将请求从“our-project/ ”分支拉到“master”时,构建不会运行,我猜是因为它是在不在 master 或“我们的”中的合并提交上运行的-项目/

我的问题有两个方面:1. 使用单存储库模式(多个项目,一个存储库)利用无人机的最佳方法是什么 2. 如果 Drone 不支持该模式或不是为它设计的,那么什么是限制“假构建”的最佳解决方法

注意:我们可以在构建开始时检查子文件夹中的更改,如果没有则返回绿色。我这是推荐的方法吗?

drone.io drone

7
推荐指数
1
解决办法
4657
查看次数

Webpack子编译器更改配置

我希望我的webpack构建的输出在编译我的服务工作者时被定义为变量.

我想使用子编译功能来编译放在不同路径中的服务工作者.我需要从webpack编译发出的输出来正确编译服务工作者.

我最初的尝试是使用与创建子编译器的offline-plugin相同的策略,但我需要能够更改服务工作者的输出路径.服务工作者路径很重要,因为它定义了范围.

我想知道如何使用子编译器API来完成下面的工作,以防止我的构建产生这种副作用(希望它会给我webpack-dev-server支持.

var webpack = require('webpack');

function ServiceWorkerPlugin(options) {
    this.options = options;
}

ServiceWorkerPlugin.prototype.apply = function(compiler) {
    compiler.plugin('emit', (compilation, callback) => {
    const stats = compilation.getStats().toJson();
    const child = webpack(this.options);

    child.apply(
    new webpack.DefinePlugin({
    assets: stats.assets
  })
);

child.run((err, swStats) => {
     if (err) {
         callback(err);
     }
     const swStatsJson = swStats.toJson();

     if(swStatsJson.errors.length > 0) {
         console.log(swStatsJson.errors);
     }

     if(swStatsJson.warnings.length > 0) {
         console.log(swStatsJson.warnings);
     }

     callback();
});

module.exports = ServiceWorkerPlugin;
Run Code Online (Sandbox Code Playgroud)

webpack

5
推荐指数
1
解决办法
1727
查看次数

Docker撰写生产

尝试使用docker-compose来构建和创建一个简单的Node.js应用程序.虽然我遇到了Django应用程序的同样问题,但我想我只是错过了一些重要的步骤.这是我的Dockerfile:

FROM node:4.2.1
CMD mkdir -p /var/app
COPY . /var/app
EXPOSE 3000
CMD node /var/app/index.js
Run Code Online (Sandbox Code Playgroud)

当我运行docker compose up指向数字海洋机器时,它会抛出一个节点错误,表明它无法在/ var/app中找到代码.是否有一些其他机制我应该用来将我的代码放到除了docker之外的机器上?

node.js docker docker-compose docker-machine

2
推荐指数
1
解决办法
314
查看次数