小编UWS*_*tor的帖子

Jenkins SMTP TLS

我正在尝试设置Jenkins使用我们公司的SMTP服务器来发送构建通知.我们在端口587上使用TLS作为加密方法.但我似乎无法使电子邮件通知正常工作.

这是我的Hudson.Tasks.Mailer.xml文件,所以你可以看到我的配置(我已经删除了SMTP auth用户和密码并稍微更改了smtpHost以防万一)

<hudson.tasks.Mailer_-DescriptorImpl>
  <helpRedirect/>
  <defaultSuffix></defaultSuffix>
  <hudsonUrl>http://localhost:8080/</hudsonUrl>
  <smtpAuthUsername></smtpAuthUsername>
  <smtpAuthPassword></smtpAuthPassw$
  <adminAddress></adminAddress>
  <smtpHost>pod#####.outlook.com</smtpHost>
  <useSsl>true</useSsl>
  <smtpPort>587</smtpPort>
  <charset>UTF-8</charset>
</hudson.tasks.Mailer_-DescriptorImpl>
Run Code Online (Sandbox Code Playgroud)

看起来这是一个已知的问题,来自http://issues.hudson-ci.org/browse/HUDSON-2206

我对Apple OS(运行Jenkins的机器)不是很熟悉,但我想我可以使用上面提到的解决方法解决问题.我不完全知道从哪里把那个解决办法了,所以我试图把它的位置:/库/ Application Support /詹金斯/ jenkins-runner.sh

defaults="defaults read /Library/Preferences/org.jenkins-ci"

war=`$defaults war` || war="/Applications/Jenkins/jenkins.war"

javaArgs="-Dmail.smtp.starttls.enable=\"true\""
heapSize=`$defaults heapSize` && javaArgs="$javaArgs -Xmx${heapSize}"
permGen=`$defaults permGen` && javaArgs="$javaArgs -XX:MaxPermSize=${permGen}"

home=`$defaults JENKINS_HOME` && export JENKINS_HOME="$home"

add_to_args() {
  val=`$defaults $1` && args="$args --${1}=${val}"
}

args=""
add_to_args prefix
add_to_args httpPort
add_to_args httpListenAddress
add_to_args httpsPort
add_to_args httpsListenAddress
add_to_args ajp13Port
add_to_args ajp13ListenAddress

echo "JENKINS_HOME=$JENKINS_HOME"
echo "Jenkins command line for execution"
echo /usr/bin/java $javaArgs …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-plugins

18
推荐指数
4
解决办法
3万
查看次数

SQLite尝试编写只读数据库错误

我有一个填充SQLite数据库的控制台应用程序.当应用程序自行运行时,我不会收到任何错误.如果我运行应用程序的多个实例,其中每个应用程序都在自己的文件夹中,并且每个应用程序都填充自己的数据库,我偶尔会遇到以下异常:

System.Data.SQLite.SQLiteException (0x80004005): Attempt to write a read-only database
attempt to write a readonly database
   at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
   at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
Run Code Online (Sandbox Code Playgroud)

我知道DB不是只读的,因为它已经将数据写入该数据库.此外,应用程序继续并将继续将数据填充到该数据库.当只有一个应用程序实例运行时,我没有重现错误.

我已经尝试使用pragma将日志和temp_store都放在内存而不是文件中以防万一在那里可能存在一些争用,但我仍然得到错误.我总是在同一个方法中得到错误,这是连接第一次插入.为了大致了解应用程序的作用,它会循环遍历案例,收集有关这些案例的信息(而不是来自SQLite),然后将结果写入SQLite数据库.

我不知道还有什么可以尝试的.

*编辑我也在使用PRAGMA journal_mode = MEMORY.在将数据插入SQLite数据库时,我首先运行BEGIN语句,然后在END语句之前运行一堆插入.第一个插入时发生错误.

c# sqlite

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

jenkins ×1

jenkins-plugins ×1

sqlite ×1