我正在开发一个 iPhone 应用程序,它有一个加载 url 的 UIWebview。当我对代码进行更改时,我将其提交到 Github,然后每晚 Jenkins 都会进行构建并将其部署到服务器上。
我的问题是,我想通过 Jenkins shell 脚本更改 UIWebview 的 url。所以它应该使用开发 url 和生产 url 进行构建。我想我必须创建两个不同的工作,但是我如何告诉 Jenkins 工作它应该为哪个 url 构建。
感谢你的帮助。
谢谢
一种想法是在编译步骤中使用命令行定义,-DmyURL='@"$(MYURL)"'
然后使用参数化构建,该构建将 URL 作为构建时参数,然后从那里设置该环境变量(这是参数化构建的用途)。
然后,在您的代码中,引用定义中的 URL。
#ifndef myURL
#define myURL @"http://dev.foo.com"
#endif
然后,您只需使用 myURL 代替常量。
另一种方法是在编译步骤中定义一个简单的值,该值将是一个布尔值,然后您可以将两个 URL 放入代码中,但第一个解决方案将允许在编译时动态确定 URL。
要使用布尔风格的机制,只需-DUSE_PROD_URL=$(USE_PROD)
在代码中设置,然后:
#if USE_PROD_URL
URL=@"http://prod.url.com"
#else
URL=@"http://dev.uel.com"
#endif