1

アーティファクトをアーティファクトにデプロイするアーティファクトジェンキンスプラグインからフォークされたプラグインがあります。数日前に奇妙な問題に遭遇したとき、しばらくの間は正常に機能していました。アーティファクトをレイアウトにデプロイすると、プラグインは正常にデプロイされますが、アーティファクトをデプロイする代わりにレイアウトのリーフレベルで空になりますフォルダ。

ログに移動すると、次のように表示されます。

 (o.a.e.UploadServiceImpl:273) - MKDir request to 'yum-snapshot-local:rhel5/i386/packages//-1.12.13-d.34.i386.rpm'
    2015-06-04 00:00:10,219 [http-bio-8081-exec-1339] [INFO ] (o.a.e.UploadServiceImpl:279) - Directory 'yum-snapshot-local:rhel5/i386/packages//-1.12.13-d.34.i386.rpm' was created successfully.
    2015-06-04 00:00:11,326 [http-bio-8081-exec-1366] [INFO ] (o.a.r.r.c.BuildResource:286) - Adding build 'test #34'
    2015-06-04 00:00:11,550 [http-bio-8081-exec-1366] [INFO ] (o.a.r.r.c.BuildResource:303) - Added build 'test #34'

ご覧のとおり、何らかの理由でプラグインがデプロイではなく mkdir リクエストを作成しているため、空のディレクトリが作成されますが、これは 2.2.7 アーティファクト jenkins プラグインからの単なるフォークです。

古いバージョンのプラグインを使用していますが、正常にデプロイされているようです。ログには次のように表示されます。

2015-06-03 23:48:00,458 [http-bio-8081-exec-1339] [INFO ] (o.a.e.UploadServiceImpl:479) - Deploy to 'libs-snapshot-
    local:djin/platforn/cande/FreeBSD/i386/packages/something/something-1.12.13-d.20.i386.rpm' Content-Length: 51

突然 mkdir rquest を作成する理由はありますか? また、この「oaeUploadServiceImpl」ファイルはどこにありますか?

編集 1.0

どうもありがとう、問題はここにあるようです:

private void adjustResponseAndUpload(ArtifactoryRequest request, ArtifactoryResponse response,
            LocalRepo targetRepository) throws IOException {
        if (processOriginatedExternally(response)) {
            response = new DelayedHttpResponse((HttpArtifactoryResponse) response);
        }
        try {
            if (request.isDirectoryRequest()) {
                createDirectory(request, response);
            } else if (request.isChecksum()) {
                validateAndUploadChecksum(request, response, targetRepository);
            } else if (NamingUtils.isMetadata(request.getPath())) {
                response.sendError(SC_CONFLICT, "Old metadata notation is not supported anymore: " +
                        request.getRepoPath(), log);
            } else {
                uploadArtifact(request, response, targetRepository);
            }

if (request.isDirectoryRequest()) が何らかの理由で true を返すため、フォルダーとして処理しますが、正当な理由は何ですか?

4

0 に答える 0