我创建了一个 Jenkins 管道文件并创建了一个 Jenkinsfile。在 Jenkinsfile 中,我使用了 Dockerfile 代理,然后运行了一些步骤。这些步骤应该在 docker 内部运行,但它们却在主机上运行。密码是她的。
#!/usr/bin/env groovy
@Library(['abc-jenkins','xyz-jenkins-library']) _
pipeline {
agent {
dockerfile{
dir 'TEST'
filename 'dockerfile'
label 'docker'
}
}
stages {
stage('Build Stage') {
steps {
echo 'testing stage running'
sh "ls"
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 dropwizard 探索 JDBI,我的客户代码如下。
public interface UserDao {
@SqlQuery("SELECT FROM `t_user` :cond")
@Mapper(UserMapper.class)
List<User> fetch(@Bind("cond") String cond);
}
Run Code Online (Sandbox Code Playgroud)
并尝试使用以下代码进行调用
Application.getJdbi().onDemand(UserDao.class).fetch("where logon_id="+p.getEmail()+"'");
Run Code Online (Sandbox Code Playgroud)
并得到以下问题
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `t_user` 'where logon_id=sanjaypatel2525@gmail.com\''' at line 1
Run Code Online (Sandbox Code Playgroud)
我遇到了引号问题,因为它是作为字符串传递的。通过这种方式,我试图为所有查询实现通用的 where 子句代码。我的问题是 1. 如何解决这个问题。2. 这是这样的代码的正确方法吗?或者我们可以使用准备好的语句。如果是的话怎么办。
非常感谢提前:)
我有两个存储桶,一个是私有的,一个是公共的。私人将拥有带有 CannedAccessControlList.Private 的文件,而公共将拥有带有 CannedAccessControlList.PublicRead 的文件。除了这些,它们都是一样的。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
AmazonS3 s3client = new AmazonS3Client(new BasicAWSCredentials(AWS_ACCESS_KEY,AWS_SECRET_KEY));
generatePresignedUrlRequest = new GeneratePresignedUrlRequest(AWS_BUCKET_PRIVATE_NAME, path,HttpMethod.PUT);
generatePresignedUrlRequest.setExpiration(expiration);
generatePresignedUrlRequest.putCustomRequestHeader("x-amz-acl", CannedAccessControlList.Private.toString());
generatePresignedUrlRequest.putCustomRequestHeader("content-type", fileType);
url = s3client.generatePresignedUrl(generatePresignedUrlRequest);
Run Code Online (Sandbox Code Playgroud)
我可以在以下场景中将文件上传到 s3。默认情况下,所有生成的 URL 都是 https。1. 带有 https 的私有存储桶 2. 公共存储桶通过 https 失败,将 https 替换为 http 就可以了。
为什么公共存储桶上传失败 https 的问题。我无法在生产系统上使用 http,因为它安装了 ssl。