Merge remote-tracking branch 'origin/master'

This commit is contained in:
HopeLi 2025-07-28 16:02:44 +08:00
commit 103f3ffe7a
2 changed files with 12 additions and 6 deletions

View File

@ -110,5 +110,5 @@ public interface IImageService {
PageResult<DockerImageDo> getLocalImagePage(DockerImagePageReqVO pageVO);
Object localImagePush(String imageId, String machineId);
Boolean localImagePush(String imageId, String machineId);
}

View File

@ -1,6 +1,7 @@
package cd.casic.module.execute.docker.service.impl;
import cd.casic.ci.commons.properties.TargetFileUploadProperties;
import cd.casic.framework.commons.exception.ServerException;
import cd.casic.framework.commons.pojo.PageResult;
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
import cd.casic.module.execute.docker.DockerClientFactory;
@ -9,6 +10,7 @@ import cd.casic.module.execute.docker.dataobject.dto.DockerImageDo;
import cd.casic.module.execute.docker.dataobject.model.DockerImage;
import cd.casic.module.execute.docker.dataobject.vo.DockerImagePageReqVO;
import cd.casic.module.execute.docker.service.IImageService;
import cd.casic.module.machine.contants.MachineErrorCodeConstants;
import cd.casic.module.machine.dal.dataobject.MachineInfoDO;
import cd.casic.module.machine.dal.dataobject.SecretKeyDO;
import cd.casic.module.machine.dal.mysql.MachineInfoMapper;
@ -183,9 +185,9 @@ public class ImageService implements IImageService {
* @return
*/
@Override
public Object localImagePush(String imageId, String machineId) {
public Boolean localImagePush(String imageId, String machineId) {
if (Objects.isNull(imageId) || Objects.isNull(machineId)) {
return null;
throw new ServerException(MachineErrorCodeConstants.MACHINE_INFO_TAG_NULL);
}
DockerImageDo imageDo = dockerImageDao.selectById(imageId);
//1 远程下载
@ -203,8 +205,8 @@ public class ImageService implements IImageService {
targetFtp.setSystemKey(CryptogramUtil.doDecrypt(secretKeyDO.getPrivateKey()));
targetFtp.setPassword(CryptogramUtil.doDecrypt(secretKeyDO.getPassword()));
}
Sftp uploadSftp = getSftp(targetFtp);
// 2.1 上传
Sftp uploadSftp = getSftp(targetFtp);
String suffix = FileUtil.getSuffix(srcPath);
String fileName = imageDo.getName() + "." + suffix;
ByteArrayInputStream arrayInputStream = new ByteArrayInputStream(byteOut.toByteArray()); //转换
@ -212,7 +214,7 @@ public class ImageService implements IImageService {
uploadSftp.mkDirs(romPath);//递归创建
uploadSftp.upload(romPath, fileName, arrayInputStream);
uploadSftp.close();
return null;
return true;
}
/**
@ -228,6 +230,10 @@ public class ImageService implements IImageService {
} else {
session = JschUtil.getSession(config.getHost(), config.getPort(), config.getUser(), config.getPassword());
}
if (!session.isConnected()) {
log.error("与主机IP:{} 建立SSH连接失败", config.getHost());
throw new ServerException(500, "部署失败,请检测主机是否可用");
}
return new Sftp(session);
}
}