我正在尝试使用 gitlab ci 构建一个应用程序。
生成的文件名取决于时间,采用这种格式
DEV_APP_yyyyMMddhhmm
(例如:DEV_APP_201810221340
,对应于今天的日期 2018/10/22 13h40)。
如何将此名称存储在 .gitlab-ci.yml 文件内的全局变量中?
这是我的 .gitlab-ci.yml 文件:
image: docker:latest
image: docker:latest
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay
SPRING_PROFILES_ACTIVE: gitlab-ci
# TIME: ""
# BRANCH: ""
# REC_BUILD_NAME: ""
TIME: "timex"
BRANCH: "branchx"
DEV_BUILD_NAME: "DEV_APP_x"
stages:
- preparation
- build
- package
- deploy
- manual_rec_build
- manual_rec_package
job_preparation:
stage: preparation
script:
- echo ${TIME}
- export TIME=$(date +%Y%m%d%H%M)
- "BRANCH=$(echo $CI_BUILD_REF_SLUG | sed 's/[^[[:alnum:]]/_/g')"
- "DEV_BUILD_NAME=DEV_APP_${BRANCH}_${TIME}"
- echo ${TIME}
maven-build: …
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的jsp表单......第二个选择框中的值,应该根据第一个选择框(国家)中的值加载状态.我正在使用AJAX,JSON,Spring MVC来检索结果.
index.jsp的.....
<form:form name="myform" modelAttribute="search" action="POST">
<form:input path="firstName" class="text" />
<form:input path="lastName" class="text" />
<form:select path="country" id="country">
<form:option value="" label="--Choose A Value--"></form:option>
<form:options items="${countryList}" itemValue="id" itemLabel="name"></form:options>
</form:select>
<form:select path="state" onchange="javascript:itemFocus('submit');" id="state">
<form:option value="" label="--Choose A Value--"></form:option>
<form:options items="${stateList}" itemValue="id" itemLabel="description"></form:options>
</form:select>
<form:checkboxes items="${skillsList}" path="skills" itemLabel="description" itemValue="id" delimiter="<br>" />
<form:checkboxes items="${languagesList}" path="languages" itemLabel="description" itemValue="id" delimiter="<br>" />
</form:form>
Run Code Online (Sandbox Code Playgroud)
控制器....
@RequestMapping(value="stateslist.html")
public @ResponseBody List<State> sectionList(@ModelAttribute("search") SearchForm search, @RequestParam(value="countryId", required=true) String countryId, ModelMap modelMap){
return stateService.getStates(countryId);
}
Run Code Online (Sandbox Code Playgroud)
JQuery部分....
<script type="text/javascript" charset="utf-8">
function getStates(){ …
Run Code Online (Sandbox Code Playgroud) Maven很好地安装在我的gitlab-runner服务器上。当mvn clean
直接在我的 repo 上执行时,它可以工作,当使用 Gitlab UI 运行我的管道时出现此错误:
bash:第 60 行:mvn:找不到命令
错误:作业失败:退出状态 1
我注意到我试图通过before_script
在.gitlab-ci.yml文件中添加部分来解决问题:
before_script:
- export MAVEN_HOME=/usr/local/apache-maven
Run Code Online (Sandbox Code Playgroud)
我还添加了以下行:
environment = ["MAVEN_HOME=/usr/local/apache-maven"]
Run Code Online (Sandbox Code Playgroud)
在 config.toml文件中。
问题仍然存在,我的执行者是:shell。
任何建议!
我想启用管理员访问管理员页面并执行管理员工作,但是当我尝试通过设置带有/ admin/**的URL只能由具有角色admin的用户访问时,它会返回403 Forbidden,拒绝访问.但是用户已将权限设置为ROLE_ADMIN我已检查过.我究竟做错了什么?
我的控制器用于用户登录
@RestController
public class UserController {
@Autowired
AuthenticationManager authenticationManager;
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private AuthorityService authorityService;
@Autowired
private UserAuthorityService userAuthorityService;
@Autowired
TokenUtils tokenUtils;
@Autowired
private UserService userService;
@RequestMapping(value = "/api/login", method = RequestMethod.POST, produces = "text/html")
public ResponseEntity<String> login(@RequestBody LoginDTO loginDTO) {
try {
// System.out.println(loginDTO.getUsername() + " " + loginDTO.getPassword());
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(
loginDTO.getUsername(), loginDTO.getPassword());
Authentication authentication = authenticationManager.authenticate(token);
SecurityContextHolder.getContext().setAuthentication(authentication);
UserDetails details = userDetailsService.loadUserByUsername(loginDTO.getUsername());
return new ResponseEntity<String>(tokenUtils.generateToken(details), HttpStatus.OK);
} catch (Exception ex) { …
Run Code Online (Sandbox Code Playgroud) 在我的Spring MVC应用程序验证实体(插入之前)期间,我收到以下错误:
...
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: org/hibernate/bytecode/instrumentation/internal/FieldInterceptionHelper
at org.hibernate.jpa.internal.util.PersistenceUtilHelper.isLoadedWithoutReference(PersistenceUtilHelper.java:119)
at org.hibernate.jpa.HibernatePersistenceProvider$1.isLoadedWithoutReference(HibernatePersistenceProvider.java:171)
at javax.persistence.Persistence$1.isLoaded(Persistence.java:111)
at org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:46)
at org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:128)
at org.hibernate.validator.internal.engine.resolver.CachingTraversableResolverForSingleValidation.isReachable(CachingTraversableResolverForSingleValidation.java:36)
at org.hibernate.validator.internal.engine.ValidatorImpl.isReachable(ValidatorImpl.java:1522)
at org.hibernate.validator.internal.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1507)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateMetaConstraint(ValidatorImpl.java:584)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:555)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:490)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:454)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:406)
at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:204)
at org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate(SpringValidatorAdapter.java:108)
at org.springframework.validation.DataBinder.validate(DataBinder.java:866)
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.validateIfApplicable(ModelAttributeMethodProcessor.java:164)
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:111)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:99)
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:161)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:817)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:731)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
... 33 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.bytecode.instrumentation.internal.FieldInterceptionHelper from [Module "deployment.Employee_Ex.war:main" from …
Run Code Online (Sandbox Code Playgroud) 正如标题中所提到的,我需要在我的page.jsp中自动装配服务.." 我知道不建议这样做 "
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page import="org.springframework.context.ApplicationContext"%>
<%@ page
import="org.springframework.web.servlet.support.RequestContextUtils"%>
<%@ page import="com.fussa.fyby.service.Test"%>
<%@ page import="com.fussa.fyby.model.PIL_P_APPLCTN"%>
<%
ApplicationContext ac = RequestContextUtils.getWebApplicationContext(request);
Test s = (Test) ac.getBean("fussafyby");
PIL_P_APPLCTN app = s.getByKey(13);
%>
<c:out value="azeerty"></c:out>
<c:out value="${ app.APPLCTN_CD }"></c:out>
<select name="listeGroupes" id="listeGroupes">
<option value="123">123</option>
<option value="${ app.APPLCTN_CD }">${ app.APPLCTN_CD }</option>
<option value="123">${ s.afficher() }</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我的服务:
@Component("fussafyby")
@Transactional
public class Test {
@Autowired
private SessionFactory sessionFactory;
protected Session getSession() {
return sessionFactory.getCurrentSession();
} …
Run Code Online (Sandbox Code Playgroud) 我在 Hibernate 中创建一对一映射时遇到问题。以下是我如何努力实现它。
以下是我的 SysEntity 超类
@MappedSuperclass
public class BaseSysEntity {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Column(name="sysupdate")
private Date sysupdate;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Date getSysupdate() {
return sysupdate;
}
public void setSysupdate(Date sysupdate) {
this.sysupdate = sysupdate;
}
}
Run Code Online (Sandbox Code Playgroud)
以下类是将与“项目”创建一对一关系的实体
@Entity
@Table(name="sysproject")
public class SysProject extends BaseSysEntity implements Serializable {
@OneToOne(optional=true, fetch= FetchType.LAZY)
@PrimaryKeyJoinColumns({
@PrimaryKeyJoinColumn(name="sysClientId", referencedColumnName="sysClientId"),
@PrimaryKeyJoinColumn(name="pProject", referencedColumnName="pProject")
})
private Project project;
public Project getProject() { …
Run Code Online (Sandbox Code Playgroud)